                              ==========================
                              R E L E A S E    N O T E S
                              ==========================

                   QLogic 577xx/578xx 10G Multiple Boot Agent (MBA)
                         [ PXE, BOOTP, iSCSI Boot, FCoE Boot ]

                         Copyright (c) 2015 QLogic Corporation
                                 All rights reserved.

                                    August 26, 2015

Revision History
================

Version 7.12.81 August 26, 2015
-------------------------------
    Fixes:
    ======
    1. Problem: Legacy PXE boot failed to get DHCP. (CQ#81298)(CQ#81404)

       Cause  : Driver received unexpected packets during chip initialization and does not
                replenish Rx buffers to the hardware.

       Change : Driver to drop Received packets during chip initialization.

Version 7.12.8 June 10, 2015
----------------------------
    Fixes:
    ======
    1. Problem: CCM POST menu is not shown for certain OEM platforms. (CQ#79997)

       Cause  : MBA did not indentify OEM platform correctly.

       Change : MBA to indentify OEM platform correctly.

Version 7.12.7 April 29, 2015
-----------------------------
    Fixes:
    ======
    1. Problem: 578xx/577xx string is missing in MBA banner. (CQ#78942)

       Change : Added 578xx/577xx string in MBA banner.

    2. Problem: Non-zero Retry Boot Count will cause system to crash during Storage boot. (CQ#74252)

       Cause  : MBA executes functions in the memory area that it no longer own.

       Change : Ignore Retry Boot Count when in Storage Boot.

    Enhancements:
    =============  
    1. Hide Legacy OpROM banner/configuration utility for certain OEM platforms. (CQ#77727)
    2. Updated copyright to reflect year of 2015.
    3. Write in correct order to PGLUE register via indirect access.
    4. Bring Lower Module up to date.

Version 7.12.6 December 16, 2014
--------------------------------
    Fixes:
    ======
    1. Problem: Legacy MBA Boot vlan fails to connect. (CQ#77064)

       Cause  : CQ#76929 fix in UEFI driver v7.12.7 to support OEM system BIOS vlan setting
                cleared vlan setting in mba_vlan_cfg.

       Change : MBA checks PORT_VLAN_EN_IGNORED_BY_UEFI bit and re-set PORT_FEATURE_MBA_VLAN_EN
                bit accordingly.

    Note: This version does *not* have CRC appended.

Version 7.12.5 December 1, 2014
-------------------------------
    Enhancements:
    =============  
    1. Appended CRC value and signature to bin file. (CQ#76541)

Version 7.12.4 November 18, 2014
-------------------------------
    Enhancements:
    =============
    1. Update MBA driver to default to a new DID, BCM57810 (0x168E), other than
       BCM57710 (0x164E). (CQ#75425)

Version 7.12.3 November 5, 2014
-------------------------------
    Fixes:
    ======
    1. Problem: Incorrect maximum number of supported functions per port in the mechanism
                to provide sensor and device information for certain OEM platforms. (CQ#73532)

       Cause  : Driver initialized with maximum number of available functions per port.

       Change : Driver to initialized with maximum number of supported functions per port.

    2. Problem: No Link on second PF in NPAR1.5 mode. (CQ#76152)

       Cause  : Second function PHY initialization logic did not indicated PHY is initialized
                when completed.

       Change : Driver to indicate PHY is initialized for the second PF.

    3. Problem: KR device failed to recover link. (CQ#75169, CQ#75562, CQ#76215)

       Cause:   KR related registers were not set with correct values.

       Change:  Set KR registers accordingly.

    Enhancements:
    =============
    1. Re-branding. Replace NetXtreme II with 577xx/578xx from MBA splash at POST. (CQ#76618)

Version 7.12.2 October 23, 2014
-------------------------------
    Fixes:
    ======
    1. Problem: 5 Meters DAC cable cannot get link. (CQ#74972)

       Cause  : Driver did not detect DAC cable type.
 
       Change : Driver to detect DAC cable type and set EDC mode accordingly.

    Enhancements:
    =============
    1. Added initial new OEM feature support.  

Version 7.12.1 October 8, 2014
------------------------------
    Enhancements:
    =============  
    1. Updated display/copyright information.
    2. Merged changes in v7.11.0-v7.11.3.

Version 7.12.0 September 15, 2014
---------------------------------
    Fixes:
    ======
    1. Problem: System hung during loading iSCSI image.(CQ#75176) 

       Change:  Removed Work-around that is no longer needed; OEM updated their BIOS. 

    2. Problem: VC + Npar1.5 mode - mezz card still consider CCM for vfperpf
                setting. (CQ#73424) 

       Change:  Driver to consider Npar1.5 mode when process vf setting in CLP.

Version 7.11.3 September 30, 2014
---------------------------------
    Fixes:
    ======
    1. Problem: QLE8442: FCF discovery fails while logging in to Brocade 8000 FCoE
                switch. (CQ#75511) 

       Change:  Forced to issue DRV_MSG_CODE_DCBX_PMF_DRV_OK FW command.

Version 7.11.2 September 24, 2014
---------------------------------
    Fixes:
    ======
    1. Problem: QLE3440 and QLE8440: PXE boot causes the system to reboot.
                (CQ#75928, CQ#75930) 

       Change:  Added QLE3440 and QLE8440 Sub Device IDs as single port device.

    2. Problem: System hung during loading iSCSI image.(CQ#75176) 

       Change:  Removed Work-around that is no longer needed; OEM updated their BIOS.

Version 7.11.1 August 18, 2014
------------------------------
    Enhancement:
    ============
    1. Replace NetXtreme II with 577xx/578xx.

Version 7.11.0 July 31, 2014
----------------------------
    Enhancement:
    ============
    1. Updated display/copyright information. 

Version 7.10.33 April 18, 2014
------------------------------
    Fixes:
    ======
    1. Problem: No Network connectivity iSCSI ports in Legacy Mode.(CQ73495) 

       Change:  Driver will not configure to SF mode if it was previously
                configured in uEFI. 

Version 7.10.32 March 6, 2014
-----------------------------
    Fixes:
    ======
    1. Problem : PXE intermittently failed. 

       Change: Updated to revert the software workaround what circumvents a known  
       filtering issue in L2 FW. 

Version 7.10.31 March 5, 2014
-----------------------------
    Enhancements:
    =============  
    1. Added support for concurrent PXE and storage in NPAR1.5 mode
       This requires L2 FW v7.8.31 or newer.

    2. Released with L2 FW version 7.10.31.

Version 7.10.30 February 28, 2014
---------------------------------
    Enhancements:
    =============  
    1. Enhanced MBA ROM initialization logic so that it doesn't force
       the device into SF mode if the device is in Unified Fabric 
       Port mode.

Version 7.10.5 February 6, 2014
--------------------------------
    Fixes:
    ======
    1. Problem : ISCSI functionality is missing in mechanism to provide sensor
       and device information for certain OEM platform in NPAR1.5 mode. 
       (CQ#72623)
       
       Change: Update Option ROM initialization so that it configures sensor 
       information structure correctly when the device is in NPAR1.5 mode.

    Enhancements:
    =============  
    1. Enhanced MBA ROM initialization logic so that it only applies 
       manufacturing mode detection for a certain OEM. (CQ#72874)

Version 7.10.4 January 31, 2014
-------------------------------
    Enhancements:
    =============  
    1. Added support for Manufacturing mode for certain OEM platform. (CQ#70517)
       
Version 7.10.3 January 29, 2014
-------------------------------

    Fixes:
    ======
    1. Problem : System hangs during POST on FW3.0 and Legacy PXE,
       introduced since v7.8.77. (CQ#72615)
       
       Change: Updated to use CS overwrite instead of DS to store PMM entry
       point.

Version 7.10.2 January 15, 2014
-------------------------------
    Enhancements:
    =============  
    1. Updated driver to support booting from non-based PF's in a NPAR1.5
       mode.

Version 7.10.1 January 6, 2014
-------------------------------
    Enhancements:
    =============  
    1. Updated copyright to reflect year of 2014.
    2. Enhanced to minimize UMB memory foot-print for BCV-based storage ROM.
    3. Enhanced so that BCV-based ROM's no longer use EBDA for code.

Version 7.10.0 December 6, 2013
-------------------------------
    Enhancements:
    =============  
    1. Enhanced support for extended NPAR mode.

    Fixes:
    ======
    1. Problem : Some vendors expect to see old behavior where CLP CHAP 
       secret's parameter is in ASCII format. (CQ#71865)

       Cause : Other OEM expects the CLP CHAP secret's parameter in HEX
       numbers.

       Change: Updated CLP logic so that it processes CLP CHAP secret logic 
       based on vendor type.

       Introduced : 7.8.32

Version 7.8.77 November 14, 2013
--------------------------------
    Fixes:
    ======
    1. Problem : System hangs during POST after CLP phase is executed in a 
       certain server environment where BIOS passes CLP source/destination
       buffers in full 32-bit ESI/EDI and zero-valued DS. (CQ#71816)

       Change: Updated part of CLP logic to use CS overwrite instead of DS to 
       store PMM entry point.

Version 7.8.76 November 11, 2013
--------------------------------
    Fixes:
    ======
    1. Fixed a KR link issue that cannot link all 4 ports to a 1G (54680E)
       IOM. (CQ#71353)

Version 7.8.75 October 24,2013
------------------------------
    Enhancements:
    =============  
    1. Enhanced Base Code to display GUID in standard format. (CQ#71542)

    Fixes:
    ======
    1. Fixed a KR link issue with CL37-only capable link partner, by enabling 
       auto-detect. (CQ#70554, CQ#71071)

Version 7.8.51 July 24,2013
---------------------------
    Fixes:
    ======
    1. Problem : BCV storage ROM might not load correctly on certain platforms.

       Change: Updated ROM initialization code to return value in AX register 
       which indicates IPL and INT13h flags when boot protocol is iSCSI or
       FCoE.

Version 7.8.50 July 22,2013
---------------------------
    Fixes:
    ======
    1. Problem : UNDI failed initialization of port#3 and port#4 on
       BCM57840-based device.

       Introduced : MBA v7.8.33

       Change: Updated to use correct CID in the RAMROD setup.

    2. Problem : DCBX initialization timed out (40s) for port#3 and port#4
       on BCM57840-based device. 

       Change: Updated DCBX initialization logic to use correct shared 
       memory offset to retrieve local DCBX MIB.

Version 7.8.38 July 18,2013
---------------------------
    Fixes:
    ======
    1. Problem : DCC time-out occurreed in the pre-boot phase. (CQ#70138)
   
       Cause : MFW disabled NIG output after a LOAD_REQ and driver enabled
       NIG output after LOAD_DONE indication.

       Change: Updated driver to enable NIG output before sending LOAD_DONE
       to MFW.

Version 7.8.37 July 16,2013
---------------------------
    Fixes:
    ======
    1. Problem : FCoE/iSCSI parameters previously configured with CLP were 
       not returned to default values after receiving "set default".
       (CQ#70156)
   
       Change: Updated CLP logic so that it clears the FCoE/iSCSI blocks 
       if they were previously configured with CLP. In addition, Boot 
       Protocol will be set to "None" as well.

Version 7.8.36 July 12,2013
---------------------------
    Fixes:
    ======
    1. Problem : NVRAM corruption can occur during CLP configuration on 
       certain OEM platforms.
   
       Cause : On these platforms, BIOS passed bogus response buffer pointer
       to CLP entry point where the top 16-bit of ESI register is not cleared.
       Specifically, response buffer is meant to be at 4000:0.  BIOS passed 
       DS=0x4000, and ESI=0xXXXX0000; where XXXX has bogus value.

       Change: Implemented a workaround in the CLP logic to clear ESI (ESI=
       0x00000000) when this bogus pointer is detected on these platforms.

    2. Fixed a problem where Mutual CHAP authentication information is not 
       cleared in the start of CLP configuration. (CQ#70098)

    Enhancements:
    =============  
    1. Released with L2 FW version 7.8.5.

    2. Enhanced CLP logic to initialize Boot Protocol to "None" if boot 
       protocol doesn't match with personality of a PF.

Version 7.8.35 June 28,2013
---------------------------
    Fixes:
    ======
    1. Fixed a problem where iSCSI target configuration is not disabled if no 
       CLP iSCSI parameters are received on a certain MF platform. (CQ#69781)

    2. Fixed a problem where VLAN parameter was set to networking PCI function
       instead of storage function in a certain OEM platform.

    Enhancements:
    =============  
    1. Released with L2 FW version 7.8.4

Version 7.8.34 June 26,2013
---------------------------
   Fixes:
   ======
   1. Fixed a problem where PF might not be functional after a shutdown/restart 
      sequence in a MF function configuration that has more than one active
      PF's in the same path.

Version 7.8.33 June 25,2013
---------------------------
    Enhancements:
    =============  
    1. Added support for concurrent PXE and storage in a certain OEM
       multi-function mode. This requires L2 FW v7.8.3 or newer.

    2. Released with L2 FW version 7.8.3

Version 7.8.32 June 21,2013
---------------------------
   Fixes:
   ======
   1. Problem: iSCSI CHAP secret parameters are not configured correctly
      with CLP path via OEM's specific CLP strings. (CQ#69767)

      Change: Updated CLP logic to comply with OEM's specific CLP strings
      for CHAP secret configuration.

Version 7.8.31 June 20,2013
---------------------------
   Fixes:
   ======
   1. Problem: MBA loaded FCoE/iSCSI ROM instead of PXE boot for the base 
      function. (CQ#69088,CQ#69482,CQ#69488)

      Change: Removed BEV-based boot support on PF#2 and PF#3 for a certain  
      OEM platform.

Version 7.8.30 June 7,2013
--------------------------
   Fixes:
   ======
   1. Problem: System crashed if device exposes 4 instances of Option ROM's in
      some platforms. (CQ#69345)

      Change: Fixed CLP processing logic so that it only processes CLP
      MAC query request and some OEM specific strings for base functions
      only.

Version 7.8.29 June 4,2013
--------------------------
   Fixes:
   ======
   1. Fixed a problem where UNDI driver would fail to load if the loader
      code is invoked from external software entities.

    Enhancements:
    =============  
    1. Enhanced CLP logic so that it corrects mismatch between Boot Protocol
       and personality of a PF. (CQ#69145)

    2. Enhanced CLP logic to use default IPv4 as startup configuration in a 
       certain OEM platform.

Version 7.8.28 May 22,2013
--------------------------
    Fixes:
    ======
    1. Fixed an issue where BCV ROM is loaded when boot protocol is not iSCSI
       nor FCoE.

Version 7.8.27 May 22,2013
--------------------------
    Enhancements:
    =============  
    1. Enhanced to load BCV-based ROM code in early stage of initialization.

Version 7.8.26 May 21,2013
--------------------------
    Enhancements:
    =============  
    1. Enhanced CLP logic to configure Boot Protocol to an appropriate value 
       based on personality of a PF. (CQ#69179)

Version 7.8.25 May 15,2013
-------------------------
    Enhancements:
    =============  
    1. Added logic to allocate 3KB boot block for storage booting.

Version 7.8.24 May 2,2013
-------------------------
    Enhancements:
    =============  
    1. Added MF BCV Storage ROM support.

Version 7.8.23 April 27,2013
----------------------------
    Enhancements:
    =============  
    1. Enhanced ROM initialization and loader code to support 32-bit BCV-based
       iSCSI/FCoE option ROM.

Version 7.8.22 March 28,2013
----------------------------
    Fixes:
    ======
    1. Problem: FCoE Target Boot LUN parameter is set incorrectly via CLP.
       (CQ#68471)

       Change : Fixed CLP processing logic to parse boot LUN parameter in
                hexadecimal format.

    2. Problem: PXE failed to pass traffic on a fail-over configuration with
       KR2 interface. (CQ#68263)

       Change : Updated UNDI unload logic to prevent link drop.

Version 7.8.21 March 22,2013
----------------------------
    Enhancements:
    =============  
    1. Enhanced CLP logic so that it works better with third-party GUI 
       interface for iSCSI boot configuration.  

Version 7.8.20 March 19,2013
----------------------------
    Fixes:
    ======
    1. Problem: PXE couldn't be disabled from VCM management interface. 
       (CQ#68262)

       Change: Fixed CLP processing logic so that it sets boot protocol to NONE
       if both networking and storage functions are configured to disabled.

Version 7.8.19 March 13,2013
----------------------------
    Fixes:
    ======
    1. Problem: Permanent MAC address instead of flex-address was used for MPIO 
       secondary interface in a MPIO boot configuration with L2 path. (CQ#68268)

       Change: Updated MBA code to use correct PFN of the secondary interface.

Version 7.8.18 March 12,2013
----------------------------
    Fixes:
    ======
    1. Problem: MBA used non-storage port as secondary port in a MPIO 
       configuration. This only affects iSCSI boot in MF mode. (CQ#68217)

       Change: Updated MBA code to use storage function if the primary
       adapter is storage interface in a MPIO configuration.

Version 7.8.17 February 28,2013
-------------------------------
    Enhancements:
    =============  
    1. Updated to configure flow control indication in the LFA shared memory 
       to improve link flap avoidance.

Version 7.8.16 January 28,2013
------------------------------
    Fixes:
    ======
    1. Problem: UNDI dropped a lot of packets due to line errors on KR2 
       interface when it's connected to pass-through modules. (CQ#66473)

       Change: Updated PHY code to initialize receiver 64/66 register to
       proper value.

Version 7.8.15 January 9,2013
-----------------------------
    Enhancements:
    =============  
    1. Updated copyright banner to reflect year of 2013.  
    2. Enhanced UNDI interface to allow upper layer software to 
       query storage personality from the interface. 

Version 7.8.14 December 14, 2012
--------------------------------
    Enhancements:
    =============  
    1. Added support for 1000-baseT SFP+ module (XSFP-T-RJ12-0101-DLL).
       This support only applies to E3-based adapters.  (CQ#66873) 

Version 7.8.13 December 5, 2012
--------------------------------
    Fixes:
    ======
    1. Problem: CLP configured "number of VFs per PF" parameter to zero if 
       SR-IOV parameter is not present in MF CLP strings.

       Change: Updated CLP logic to configure "number of VFs per PF" parameter
       to AUTO (0xff) if SR-IOV parameter is not present in MF CLP strings per
       OEM CLP spec. 

Version 7.8.12 December 4, 2012
--------------------------------
    Fixes:
    ======
    1. Problem: Boot Protocol is not set to correct protocol if it's configured 
       from the OEM GUI. (CQ#66617)

       Change: Updated CLP code to configure boot protocol accordingly based 
       on MF CLP strings.

Version 7.8.11 November 14, 2012
--------------------------------
    Fixes:
    ======
    1. Problem: Certain OEM platforms might get RSOD during OS installation
       or booting.

       Change: Implemented a software workaround so that loader code will free 
       up unused EBDA memory before loading iSCSI/FCoE ROM.

Version 7.8.10 November 12, 2012
--------------------------------
    Enhancements:
    =============  
    1. Enhanced UNDI driver so that system can boot FCoE offloaded path 
       in non-based function (PF#2 or PF#3) in MF mode. 

Version 7.8.9 November 6, 2012
------------------------------
    Enhancements:
    =============  
    1. Enhanced UNDI driver so that system can boot iSCSI offloaded path 
       in non-based function (PF#2 or PF#3) in MF mode. (CQ#66107)

    2. Enhanced CLP logic to force MF mode to SF mode only for MF_ALLOWED
       (nvm cfg 73=0) when CLP "default" string is pushed down. (CQ#66369)

    3. Updated CLP logic to disable SR-IOV if there is no SR-IOV parameter in 
       the MF's CLP strings.

Version 7.8.8 October 24, 2012
------------------------------
    Fixes:
    ======
    1. Problem: UNDI driver didn't use VC-assigned MAC addresses if system
       only enabled 2 PF's in MF mode. (CQ#65825)
       
       Change: Updated UNDI driver to properly use VC-assigned MAC addresses
       when only 2 PF's are enabled in MF mode.

Version 7.8.7 October 22, 2012
------------------------------
    Fixes:
    ======
    1. Problem: Booting 2nd or 3rd port failed on 4x10G/1G devices. (CQ#66137)
       
       Cause: PFN was not masked out correctly during UNDI driver
       initialization.

       Change: Updated UNDI driver so that PFN is masked out correctly.

       Introduced : 7.8.6

Version 7.8.6 October 19, 2012
------------------------------
    Enhancements:
    =============
    1. Added support for additional CLP strings per OEM specification.
    2. Enhanced so that MBA no longer piggybacks CCM ROM binary.

Version 7.8.5 October 5, 2012
-----------------------------
    Enhancements:
    =============
    1. Added support for BCM84834 PHY.

Version 7.8.4 October 3, 2012
-----------------------------
    Fixes:
    ======
    1. Problem: KR2 interface failed to pass traffic if its link partner is
       a certain 1G switch and link *was* up when UNDI driver took control.

       Change: Updated PHY code so that it re-initializes the PHY with 
       configuration that works with 1G link even the link was up.

Version 7.8.3 October 2, 2012
-----------------------------
    Fixes:
    ======
    1. Problem: KR2 interface failed to link up with a certain 1G switch.

       Change: Implemented a workaround in the PHY code to turn off 20G 
       advertisement if there is no link after AUTONEG timeout. 

Version 7.8.2 October 1, 2012
-----------------------------
    Fixes:
    ======
    1. Problem: KR2 interface failed to link up with a certain 10G switch.
       (CQ#65729)

       Change: Implemented a workaround in the PHY code to turn off 20G 
       advertisement if there is no link after AUTONEG timeout. 

    2. Problem: KR2 interface failed to pass traffic with a 20G switch.

       Change: Fixed a problem in PHY and XMAC initialization.

Version 7.8.1 September 5, 2012
-------------------------------
    Enhancements:
    =============
    1. Embedded CCM v7.8.1.

Version 7.8.0 August 31, 2012
-----------------------------
    Fixes:
    ======
    1. Fixed a problem where UNDI failed to pass traffic when KR2 interface
       links at 10Gbps.

    Enhancements:
    =============
    1. Embedded CCM v7.8.0.

Version 7.4.10 July 25, 2012
----------------------------
    Fixes:
    ======
    1. Problem: Exit from NIC Option ROM setting will mess up the following 
       Smart Array message. (CQ#62967)

       Change: Update CCM to send carriage return to console on exit.

    Enhancements:
    =============
    1. Embedded CCM v7.4.8.
    2. Removed "AutoGrEEEn" option for BCM54618SE PHY.
    3. Changed default value of SR-IOV VFs per PF to from 64 to 16.
       (CQ#64278)

Version 7.4.9 July 18, 2012
---------------------------
    Enhancements:
    =============
    1. Embedded CCM v7.4.7.
    2. Added EEE configuration support in CCM for BCM84833 PHY.
    3. Removed link toggle before starting DCBX.
    4. Enhanced PHY code so that link will not be toggled for E3/SFP+ interface if
       the link was up.

Version 7.4.8 July 2, 2012
---------------------------
    Enhancements:
    =============
    1. Embedded CCM v7.4.6.
    2. Updated CCM to display run-time value of 'VFs per PF'.
    3. Hide/Show SRIOV configuration based on NVM configuration option.
      (CQ#63615)
    4. Added 'Pause On Exhausted Host Ring' configuration to NPAR. 
      (CQ#64081)

Version 7.4.7 June 19, 2012
---------------------------
    Fixes:
    ======
    1. Problem: Factory MAC address is overwritten by Flex address in 
                NVRAM. (CQ#64059)

       Cause  : Newly introduced CLP logic incorrectly updated NVRAM
                MAC address with flex address.

       Change : Updated driver CLP logic to remove programming NVRAM
                MAC addresses.

    Enhancements:
    =============
    1. Remove CLP SR-IOV strings.

Version 7.4.6 June 15, 2012
---------------------------
    Fixes:
    ======
    1. Problem: iSCSI Boot failed to acquire DHCPv6 addresses if Management 
       Firmware is enabled. (CQ#63925)

       Change: Updated driver to initialize NIG block such that IPv6 multicast 
       packets will be forwarded BRB1.

    Enhancements:
    =============
    1. Added additional CLP strings for SR-IOV configuration.
    2. Added support for additional CLP strings per OEM specification.
    3. Updated CLP documentation to reflect updated CLP strings and contents.
    4. Updated CLP logic to overwrite PF allocation values in
       MF shared memory only when it's in MF Allowed mode.

Version 7.4.5 June 11, 2012
---------------------------
    Fixes:
    ======
    1. Problem: FIP VLAN discovery packet was sent with VLAN ID of 0 
       when device is configured in AFEX mode. (CQ#63856)

       Change: Updated VLAN header creation logic to use VLAN ID obtained 
       via VIC protocol if VLAN ID is zero when it's in AFEX mode.

Version 7.4.4 June 8, 2012
--------------------------
    Enhancements:
    =============
    1. Embedded CCM v7.4.4.
    2. Hide SR-IOV configuration for 1G ports. (CQ#63731)
    3. Prevented configuration of 'VFs per PF' totaling more than 64 in 
       NPAR mode. (CQ#62985)
    4. Changed AutoGrEEEn to Energy Efficient Ethernet. (CQ# 63787)
    5. Hide SR-IOV configuration if MFW version is older than 7.4.x.

Version 7.4.3 June 4, 2012
--------------------------
    Enhancements:
    =============
    1. Added support for BCM57840 devices with new PCI ID's.
    2. Embedded CCM v7.4.3.

Version 7.4.2 June 1, 2012
--------------------------
    Enhancements:
    =============
    1. Added SR-IOV configuration for CLP. (CQ#63075)

Version 7.4.1 May 25, 2012
-------------------------
    Enhancements:
    =============
    1. Embedded CCM v7.4.2.
    2. Added SR-IOV configuration. (CQ#62985)

Version 7.4.0 May 2, 2012
-------------------------
    Enhancements:
    =============
    1. Added support for BCM57811 devices.
    2. Embedded CCM v7.4.0.

Version 7.2.53 April 23, 2012
-----------------------------
    Enhancements:
    =============
    1. Embedded CCM v7.2.50.
    2. Added FLR configuration. 
    3. Enforced only single protocol personality (L2 or FCoE) on an AFEX VIF.
       (CQ#62372)

Version 7.2.52 April 6, 2012
----------------------------
    Fixes:
    ======
    1. Problem: Option ROM displayed banner per port during POST if 6 MEZZs are 
       installed with Flex-addressing and NPAR enabled. (CQ#62510)

       Cause: System BIOS has limited number of handles for PMM allocation.
       This prevented CLP and MBA code to allocate PMM memory.

       Change: Implemented a software workaround to mimimize usage of PMM 
       allocations in CLP and INIT phases.

    Enhancements:
    =============
    1. Enhanced UNDI initialization code to indicate to MFW that it's not 
       D3 shutdown type.
    2. Updated CCM to hide DCB configuration for 1G ports. (CQ#62374)
    3. Embedded CCM v7.2.14.

Version 7.2.51 March 15, 2012
-----------------------------
    Fixes:
    ======
    1. Problem: iSCSI boot failed to acquire IP address from DHCPv6 and
       IP prefixes from the router. (CQ#62155)
 
       Change : Updated driver to correctly configure NIG block.
       This issue was introduced in MBA v7.2.24.

    Enhancements:
    =============
    1. Enabled Temperature sensing support for BCM57800, BCM57810,
       and BCM57840 controllers.

Version 7.2.50 March 13, 2012
-----------------------------
    Fixes:
    ======
    1. Problem: iSCSI boot failed to boot on a certain platform that utilizes
       a lot of EBDA (Extended BIOS Data Area) for the built-in BIOS Option
       ROM. (CQ#62076)     
 
       Change : Minimized memory footprint by providing Option ROM for
       specific device family.

    Enhancements:
    =============
    1. Enhanced to minimize run-time memory footprint by providing binary
       support for specific device family (E2, E3).  E1/E1H devices are
       no longer supported from this release.

Version 7.2.25 March 12, 2012
-----------------------------
    Fixes:
    ======
    1. Problem: CLP converts proposed DHCP Vendor ID value, and other
       various iSCSI Boot parameters, to lowercase.

       Change : Updated driver to preserve case sensitive CLP values where
       applicable.

    2. Problem: System hung up in CCM in some systems with very old BIOS.

       Cause :  This is a BIOS bug where it provides PMM buffer
       address in the BIOS stack area. This causes stack corruption.
  
       Change : Implemented a workaround for this BIOS problem so that
       MBA will use a fixed/safe memory region if memory buffer returned 
       by the BIOS is below 0x8000 (<32K region).

Version 7.2.24 March 6, 2012
----------------------------
    Fixes:
    ======
    1. Problem: System hung at PXE banner in an overnight test with  
       moderate broadcast traffic on the networks. (CQ#61496)

       Change : Updated device initialization flow so that Rx traffic 
       is completely blocked from entering Rx buffer and L2 FW is configured
       to drop all incoming packets during this phase.

    2. Problem: CCM didn't show virtual MAC addresses for NX1 devices.
       (CQ#61950)

       Change : Updated CCM to display virtual MAC addresses instead of 
                permanent MAC addresses.

    Enhancements:
    =============
    1. Embedded CCM 7.2.13.

Version 7.2.23 March 2, 2012
----------------------------
    Enhancements:
    =============
     1. Updated default Tx equalization settings for SFP+ mode 
        after analysis at all PVT corners. (CQ#61934)

Version 7.2.22 March 1, 2012
----------------------------
    Enhancements:
    =============
    1. Removed Temperature sensing support for BCM57800, BCM57810,
       and BCM57840 controllers.(CQ#61853)

Version 7.2.21 February 29, 2012
--------------------------------
    Fixes:
    ======
    1. Problem: PXE boot failed intermittently with "NIC Initialization 
       Error" after 24 hours of running. (CQ#61860)

       Change : Implemented initialization retry logic so that device 
       initialization is more robust.

    2. Problem: FCoE ROM failed to login to Brocade fabric if it's used with 
       MFW v7.2.x. (CQ#61773)

       Change : Updated DCBX initialization code to query FCoE TLV valid 
       instead of NEGOTIATION COMPLETE indication.

    Enhancements:
    =============
    1. Enhanced DCBX logic to use default FCoE priority if DCBX doesn't 
       complete after a timeout duration.

Version 7.2.20 February 28, 2012
--------------------------------
    Fixes:
    ======
    1. Problem: When PXE boot ran on 10Gbase-T port,other unused 10Gbase-T 
       went down (CQ#61804)

       Change : Updated PHY code so that BCM84833 PHY is only reset with GPIO3
       if it's in reset state.  HW reset pin is per device. So HW reset pin 
       will reset both ports.

    Enhancements:
    =============
    1. Embedded CCM 7.2.12.

    2. Problem: CCM AFEX port profile listing does not sync with switch
       contents. (CQ#61474).

       Change : Updated CCM to correct mapping between active profile
                index and NVRAM profile contents.

    3. Problem: AFEX flow control settings do not show the same values as
                'ethtool' utility. (CQ#61702).

       Change : Updated CCM AFEX structure with correct offsets.

Version 7.2.19 February 26, 2012
--------------------------------
    Enhancements:
    =============
    1. Optimized link detection logic so that link is more robust for  
       10Gbase-T PHY.

Version 7.2.18 February 24, 2012
--------------------------------
    Fixes:
    ======
    1. Problem: UNDI intermittenly doesn't receive traffic on E3 devices.

       Cause :  This is a known problem in L2 FW where it would drop 
       all packets if unicast filtering is set.
   
       Change : Implemented a workaround in the UNDI driver until L2 FW
       issue is fixed.

    Enhancements:
    =============
    1. Embedded CCM 7.2.11.
    2. Remove Max Bandwidth option in AFEX menu. (CQ#61770)
    3. Do not display AFEX menu for 1G ports.
    4. Enhanced reset logic to stop traffic to MCP before the NIG
       block is reset.

Version 7.2.17 February 22, 2012
--------------------------------
    Fixes:
    ======
    1. Problem: Booting over AFEX mode failed if both DCBX and Management 
       Firmware are disabled. (CQ#61571)
   
       Change : Updated UNDI driver so that it doesn't reset the NIG
       block if it's in AFEX mode.

    Enhancements:
    =============
    1. Embedded CCM 7.2.10.

Version 7.2.16 February 20, 2012
--------------------------------
    Fixes:
    ======
    1. Problem: UNDI driver doesn't detect link on second port of 10GBase-T
       PHY devices. (CQ#61552)
   
       Change : Added more delay after PHY software/hardware reset.

    2. Problem: VLAN ID of the secondary port was not used correctly in    
       an iSCSI MPIO configuration.  This issue only occurs with 4-port
       configuration.
   
       Change : Fixed the routine that retrieves VLAN ID from the NVRAM
       based on path and channel number.

    Enhancements:
    =============
    1. Updated CLP logic to revert to factory default MAC address when zero
       MAC address value is used in conjunction with "PermanentAddress" and
       "iScsiAddress" keywords.

    2. Updated CLP document to add "MultifunctionMode" keyword.

Version 7.2.15 February 17, 2012
--------------------------------
    Fixes:
    ======
    1. Problem: Write operations failed when copying large files to iSCSI 
       target in iSCSI boot/AFEX configuration.
   
       Change : Updated UNDI initialization to increase MTU configuration in 
       the MAC block.

    Enhancements:
    =============
    1. Enhance UNDI driver to minimize time-out when polling for AFEX 
    convergence.

Version 7.2.14 February 16, 2012
-------------------------------
    Enhancements:
    =============
    1. Enhanced UNDI driver to request MFW to support subset of AFEX
       features for preboot environment.

Version 7.2.13 February 8, 2012
-------------------------------
    Enhancements:
    =============
    1. Added NPAR-SD mode support for FCoE boot.
    2. Embedded CCM 7.2.9.
    3. Enhanced CCM to display a warning message to prompt rebooting PC when 
       DCB/FLR/NPAR-SD/NPAR-SI configuration changes. (CQ#61122)

Version 7.2.12 February 7, 2012
-------------------------------
    Fixes:
    ======
    1. Problem: iSCSI boot over NPAR-SD failed after a first reboot
       during OS installation. (CQ#61458)
   
       Change : Updated UNDI driver so that it can receive larger 
       packet size due to larger NPAR-SD header size.

    Enhancements:
    =============
    1. Updated UNDI API interface to allow iSCSI/FCoE ROM to store
       physical address of iBFT in the device's shared memory.

Version 7.2.11 February 2, 2012
-------------------------------
    Fixes:
    ======
    1. Problem: System hangs when CCM is invoked on a certain system
       with NX1 or NX2 1G adapter. (CQ#61372)
   
       Change : Updated CCM so that indirect access register is initialized
       first before accessing the device.

    Enhancements:
    =============
    1. Embedded CCM 7.2.8.

Version 7.2.10 February 1, 2012
-------------------------------
    Enhancements:
    =============
    1. Embedded CCM 7.2.7.
    2. Enhanced CCM to initialize default NPAR-SD block in which iSCSI offload
       is disabled. (CQ#61333)
    3. Enhanced CLP logic to handle multiple configuration sessions per port
       configuration.
    4. Added FLR configuration for E2 devices.

Version 7.2.9 January 31, 2012
------------------------------
    Fixes:
    ======
    1. Problem: CLP command "NparPF" doesn't assign personality property 
       correctly in a certain configuration. (CQ#61243)

       Change: Cleaned up CLP logic that configures personality property.

    Enhancements:
    =============
    1. Embedded CCM 7.2.6.
    2. Added new CLP command (MultifunctionMode) to support Multfunction mode
       configuration which is used on a certain OEM platform. (CQ#61238)
    3. Hide iSCSI Offload entries in NPAR-SD VIF Configuration menu. (CQ#60869)
    4. Enhanced CCM to make DCB configurable writable. (CQ#61167)
    5. Added configurable option to disable/enable FLR. (CQ#60884)

Version 7.2.8 January 24, 2012
------------------------------
    Fixes:
    ======
    1. Problem: Activity LED stays on solid when the iBoot is running.
       (CQ#60035)

       Change: Configured Link and Activities LEDs for BCM84833.

    Enhancements:
    =============
    1. Embedded CCM 7.2.5.

Version 7.2.7 January 21, 2012
------------------------------
    Fixes:
    ======
    1. Problem: UNDI driver failed to get link on 10GBaseT ports on a certain 
       2x2 designs (2x10GBase-T ports + 2x1GBaseT ports).

       Change: Updated PHY code to support RJ45 swap configuration for BCM84833
       PHY.

Version 7.2.6 January 19, 2012
------------------------------
    Fixes:
    ======
    1. Problem: Configuring iSCSI target port with a value greater than 40000
       failed via CLP. (CQ#61085)

       Change: Updated data type to an unsigned integer to accomodate the
               necessary range values.

    2. Problem: UNDI driver failed to pass traffic on a certain platforms.
       (CQ#61067)

       Change: Relocated DMA workaround buffer so that L2 FW will not corrupt
       part of context memory during initialization.

    Enhancements:
    =============
    1. Added NPAR-SD mode support for PXE and iSCSI boot.
   
Version 7.2.5 January 17, 2012
------------------------------
    Fixes:
    ======
    1. Problem : iBoot: 10G Base-T NIC Windows boot when running
       @ 100M half duplex does not start.(CQ#60672)

       Change: UNDI driver to set Half Duplex Mode for 10GBase-T NIC
               in EMAC and UMAC @ 100M Half Duplex.
    Note:
    =====
    1. Updated Copyright banner to reflect year of 2012.

Version 7.2.4 December 13, 2011
-------------------------------
    Fixes:
    ======
    1. Problem : UNDI driver failed to pass traffic on a certain 
       board configuration with Tx/Rx polarity swap.

       Change: Updated PHY driver to configure Tx/Rx polarity swap
       correctly based on NVRAM configuration.

Version 7.2.3 December 12, 2011
-------------------------------
    Fixes:
    ======
    1. Problem : Failed to do PXE boot with latest MFW. (CQ#60243)

       Change: Updated PHY driver to toggle two GPIOs at the same time 
       in PHY reset logic due to a known PHY problem.

    Enhancements:
    =============
    1. Enhanced CCM to remove AutoGrEEEn support for BCM84833 PHY.
    2. Embedded CCM 7.2.2.

Version 7.2.2 December 9, 2011
-------------------------------
    Enhancements:
    =============
    1. Enhanced to initialize NPAR block with iSCSI offload disabled even
       iSCSI license is valid. (CQ#59973)

    2. Enhanced to rename Flow Control strings from "None" to "Disabled".
       (CQ#60240)

    3. Embedded CCM 7.2.1.

Version 7.2.1 November 23, 2011
-------------------------------
    Fixes:
    ======
    1. Problem : UNDI driver failed  to pass traffic in 100Mbps mode 
       with BCM84833 PHY. (CQ#59842)

       Change: Updated PHY driver to restart AUTONEG between the internal
       PHY (WarpCore) and BCM84833 after link speed is determined on the 
       external link.
  
    2. Problem: Configuration of Network or iSCSI MAC addresses with CLP 
       strings "set netport1 PermanentAddress=...." can cause system to
       hang on a certain OEM blades. (CQ#59379)

       Cause :  This a BIOS problem where system timer tick is not incremented
       at the CLP phase.  When the SF MAC address is configured, this code path
       utilizes a time-out mechanism that replies on system timer tick at 
       BIOS Data Area (BDA) @ 40:6c. System BIOS is supposed to increment this 
       location 18 times a second. When CLP code run, this memory location 
       stays unchanged at zero.  This causes the time-out loop to hang.

       Change : Implemented a workaround to use HW timer tick instead of system
       time tick.

Version 7.2.0 November 11, 2011
-------------------------------
    Enhancements:
    =============
    1. Added support for BCM84833 PHY.
    2. Enhanced to add FCoE support for BCM57800/BCM57810 devices.
    3. Embedded CCM 7.2.0.

Version 7.0.45 November 1, 2011
-------------------------------
    Enhancements:
    =============
    1. Enhanced to remove FCoE support for BCM57800/BCM57810 devices.
    2. Embedded CCM 7.0.17.

Version 7.0.44 October 28, 2011
-------------------------------
    Fixes:
    ======
    1. Problem : CCM made IP version field read-only in the iSCSI General 
    parameter menu if there is one NIC in the system that has IPv4 or IPv6 
    configuration only. (CQ#59391)

    Change: Updated CCM to use toggle READ-ONLY flag correctly.

    Enhancements:
    =============
    1. Enhanced CCM to display flex-addressing MAC addresses in NPAR menu 
    when it's currently in SF mode.

    2. Embedded CCM 7.0.16.

Version 7.0.43 October 18, 2011
-------------------------------
    Fixes:
    ======
    1. Problem: UNDI driver took a long time to time out if there is no
       IOM module installed in 10G-KR configuration. (CQ#59310)

       Change: Updated PHY code to terminate network boot quickly if there 
       is no energy detect for a 10G-KR connection.

    2. Problem: FCoE ROM displays "NIC initialization failed" if 1G-port was
       mistakenly configured for FCoE. (CQ#59304)

       Change: Updated code to terminiate network boot immediately if FCoE
       configuration is not found.

    Enhancements:
    =============
    1. Enhanced to hide all FCoE configuration if FCoE license is not valid.

    2. Embedded CCM 7.0.15.

Version 7.0.42 October 14, 2011
-------------------------------
    Fixes:
    ======
    1. Problem: UNDI driver didn't detect link correctly if SFP+ module is 
       not present. (CQ#59205)

       Change: Updated PHY code to terminate network boot immediately if no 
       SFP+ module is detected.

    2. Updated CCM so that default configuration of NPAR-SD block is
       initialized with correct default value. (CQ# 58870)

    Enhancements:
    =============
    1. Updated CCM to hide Option ROM entry in MBA Configuration Menu for OEM
       devices (Subvendor ID = 0x103C). (CQ#59103)

    2. Embedded CCM 7.0.14.

Version 7.0.41 October 6, 2011
------------------------------
    Fixes:
    ======
    1. Problem: FCoE Boot failed to connect to FC target over Brocade FCF
       intermittently.

       Cause: MFW indicates DCBX negotiation complete but the DCBX operational
       parameters (aka local MIB) are not valid in shared memory after 
       0 to 1.5s later.  FCoE Boot ROM would try to connect with VLAN priority
       of 0 instead 3. Brocade would then reject FLOGI.

       Change: Implemented a workaround to wait up to 5s in querying DCBX 
       operational parameters after DCBX negotiaion completion indication. 

    Enhancements:
    =============
    1. Enhanced NPAR configuration code so that WWPN/WWNN prefixes in the 
       NVRAM configuration has higher precedence than the prefixes of 
       WWPN/WWNN fields in the NPAR NVRAM block.

Version 7.0.40 October 4, 2011
------------------------------
    Fixes:
    ======
    1. Fixed a problem in FlexAddressing CLP logic that did not set the 
       FlexAddresses to factory defaults when zero MAC address is specified
       in the CLP string. Updated driver to correctly use default MAC
       address when zero MAC address string is detected.

Version 7.0.39 October 3, 2011
------------------------------
    Fixes:
    ======
    1. Fixed a problem in CCM where license validation is always done on the 
       base port.

    Enhancements:
    =============
    1. Enhanced to use length of extended device configuration block to 
       validate presence of configured WWPN/WWNN prefixes in the shared memory.
    2. Enhanced to reduce memory footprint in area of new CLP implemenation.
    3. Embedded CCM 7.0.13.

Version 7.0.38 September 26, 2011
---------------------------------
   Fixes:
   ======
   1. Add CLP support for FlexAddressing per OEM specification. (CQ#58502)
   
Version 7.0.37 September 26, 2011
---------------------------------
    Fixes:
    ======
    1. Problem: DCC didn't work on port#2 of E2/E3-based devices. (CQ#58564)

       Change: Fixed a problem in CLP processing code so that DCC VLAN ID is 
       updated correctly on the shared memory for the second port.

Version 7.0.36 September 22, 2011
---------------------------------
    Fixes:
    ======
    1. Problem: iSCSI IPv6 boot hangs when loading RH OS on a certain  
       platform that uses a lot of EBDA for RAID controllers. (CQ#58791).

       Change: Reduced stack space allocated for UNDI from 2K to 512 bytes.

Version 7.0.35 September 22, 2011
---------------------------------
    Fixes:
    ======
    1. Problem: FCoE WWNN/WWPN have prefixes of zero's if there is no Extended 
       Configuration block present in the Flex-Addressing environment. (CQ#58762)

       Cause: MFW deposits valid Extended Configuration block even Extended 
       Configuration block is not present in the NVRAM.

       Change: Updated MBA initialization logic to apply prefixes if and only 
       if prefixes are non-zero.     

Version 7.0.34 September 20, 2011
---------------------------------
    Fixes:
    ======
    1. Problem: FCoE WWNN/WWPN have incorrect prefixes if MFW 7.0.35 older is
       used. (CQ#58718)

       Change: Updated CCM to use configured prefixes only if MFW 7.0.36 or
       newer is detected.

    Enhancements:
    =============
    1. Embedded CCM 7.0.12.

Version 7.0.33 September 18, 2011
---------------------------------
    Enhancements:
    =============
    1. Embedded CCM 7.0.11.
    2. Enhanced to use configured WWPN/WWNN prefixes for NPAR block 
       initialization.
    3. Enhanced to initialize maximum BW of 100 as default value in the NPAR
       configuration block.
    4. Enhanced to synchronize WWPN/WWNN prefixes with prefixes in the NPAR 
       block when device is selected.
    5. Enhanced version detection routine to return version of stand-alone CCM
       if it's present and newer than the one that is embedded in MBA ROM image.
    6. Enhanced to use configured WWPN/WWNN prefixes in the NVRAM for MF 
       block initialization when NPAR is enabled. (CQ#58504)

Version 7.0.32 September 15, 2011
---------------------------------
   Fixes:
   ======
   1. Fixed a problem where iSCSI boot in MPIO configuration doesn't work 
      correctly for 1G ports when NPAR is enabled. (CQ#58494)

   2. Fixed a problem where "Device Hardware Configuration" menu is still
      displayed even no entry is in the menu.

Version 7.0.31 September 12, 2011
---------------------------------
   Fixes:
   ======
   1. Fixed a problem where MF configuration is not visible for E2 devices.

   Enhancements:
   =============
    1. Embedded CCM 7.0.10.

Version 7.0.30 September 8, 2011
--------------------------------
   Enhancements:
   =============
    1. Enhanced Option ROM initialization code so that it doesn't initialize
       1G-port MAC addresses in the MF block in shared memory when it's in 
       NPAR-SI mode.

    2. Enhanced CCM so that Multi-Function mode is hidden for 1G port.
 
    3. Enhanced CCM so that FCoE Boot configuration for E3 ports is hidden.

    4. Embedded CCM 7.0.9.

Version 7.0.29 September 2, 2011
--------------------------------
  Fixes:
  ======
    1. Problem: iSCSI MPIO configuration didn't work correctly if secondary 
       port was only port#3 or port#4 in a 4-port NIC.

       Change: Updated iSCSI loader code to search for secondary port 
       configuration from PCI function 0 to 3.

    2. Problem: iSCSI boot overnight reboot test failed after 100+ iterations.
       (CQ#58227)

       Change: Optimized PHY code to minimize PHY resets and link drops.

Version 7.0.28 August 30, 2011
------------------------------
  Fixes:
  ======
    1. Problem: Enabling/Disabling MBA or Boot Protocol on 4-port NICs
       results in missing boot devices in the BIOS. (CQ#58141)

       Caused : NVRAM offsets boot protocol fields are initialized 
       correctly based on path# and channel#.

       Change: Fixed Option ROM initialization code so that NVRAM offsets
       are initialized correctly per path/channel#.

Version 7.0.27 August 29, 2011
------------------------------
  Fixes:
  ======
    1. Problem: OEM's MF mode was not functional. (CQ#58042) 

       Caused : MBA forced the device in SF mode if device hadn't been 
       configured to MF via CLP strings. There was a bug in the code that
       this condition was mis-detected.  This issue was introduced in 
       MBA 7.0.20 since context was invalidated on CLP exit command. 

       Change: Updated CLP exit logic to restore local context from 
       the context resided in the extended memory.

Version 7.0.26 August 25, 2011
------------------------------
   Enhancements:
   =============
   1. Enhanced PHY logic to handle link flap and error recovery better.

Version 7.0.25 August 24, 2011
------------------------------
  Fixes:
  ======
    1. Problem: UNDI failed to detect link intermittently with a specific 
       OEM's 10G-PT module.

       Caused : It takes a long time to link up with this particular IOM
       modules.  Intermitttently, it can take over 60 seconds to establish link.
       Default link timeout for 10G-KR in the UNDI driver is 15 seconds.
 
       Change: Updated UNDI driver to use up to 64s link time if signal is 
       detected in the mid-plane.

Version 7.0.24 August 23, 2011
------------------------------
  Fixes:
  ======
    1. Problem: UNDI failed to detect 10G-KR link with BCM578xx NIC. (CQ#58048)

       Change: Changed UNDI driver to optimize WC initialization for
       10G-KR.

Version 7.0.23 August 20, 2011
------------------------------
  Fixes:
  ======
    1. Problem: iSCSI Boot failed overnight test with BCM578xx NICs.
       (CQ#53245)

       Change: Changed UNDI driver to do a hard reset of XMAC after 
       link is established at the PHY layer.

Version 7.0.22 August 19, 2011
------------------------------
  Fixes:
  ======
    1. Problem: UNDI driver failed to pass traffic with 1G copper ports on 
       a certain OEM version of 4-port NICs (2x10G + 2x1G). (CQ#57905)

       Change: Updated UNDI driver to control external PHY resets/PHY
       power-down correctly based on EPIO configuration.

   Enhancements:
   =============
   1. Enhance CCM to hide DCB configuration for E3 device. (CQ#57641)
   2. Embedded CCM v7.0.7.
   3. Added support for BCM54616S PHY type.

Version 7.0.21 August 10, 2011
------------------------------
  Fixes:
  ======
    1. Problem: UNDI driver failed to pass traffic with BCM578xx B0
       when it's configured to 1Gbps mode. (CQ#57467)

       Change: Updated UNDI driver to fine-tune WC initialization.

Version 7.0.20 August 6, 2011
-----------------------------
  Fixes:
  ======
    1. Problem: CLP interface could cause NVRAM corruption if BIOS pushes
       down CLP strings in 2 or more sessions on the same port.
                   
       Caused : Option ROM's CLP logic maintains a configuration context for 
       each port in the extended memory. When session is terminated with "exit"
       command, configuration context is saved to the NVRAM. During this time,
       content of context memory is swapped for CRC-32 calculation. If the 
       CLP strings are pushed down on the same port, configuration context
       is incorrectly used again since it's still valid. 

       Change: Updated CLP session termination code to invalidate CLP 
       configuration context.

   Enhancements:
   =============
   1. Enhanced CCM so that DCB configuration field is now read-only. (CQ#57641)
   2. Embedded CCM v7.0.6.

Version 7.0.19 August 5, 2011
-----------------------------
   Enhancements:
   =============
   1. Enhanced UNDI driver to toggle physical link before starting DCBX 
      request. This allows DCBX restarted successfully on subsequent retries.

Version 7.0.18 August 2, 2011
-----------------------------
   Enhancements:
   =============
   1. Enhanced UNDI API interface so that FCoE/iSCSI ROM can query MF and 
      offload information.
   2. Released MBA PCI 3.0 CLP/LOM image without CCM attached since the combined 
      size is over 128K.

Version 7.0.17 August 1, 2011
-----------------------------
  Fixes:
  ======
    1. Problem: FCoE ROM failed to boot from port#1. (CQ#57440)

       Caused : This problem was introduced in MBA v7.0.13 which causes
       MBA code fail to locate FCoE block in the NVRAM Extended directory.

       Change: Fixed NVRAM directory locating routine so that it can locate
       directory entries in the Extended Directory.

   Enhancements:
   =============
   1. Added support for BCM54616 PHY. (CQ#57496)
   2. Added option to disable/enable AutoGrEEEn in CCM. (CQ#57160)
   3. Embedded CCM v7.0.5.

Version 7.0.16 July 27, 2011
----------------------------
   Enhancements:
   =============
   1. Updated mechanism to provide sensor and device information for
      BCM57800, BCM57810, and BCM57840.

Version 7.0.15 July 22, 2011
----------------------------
  Fixes:
  ======
    1. Problem: Option ROM failed to load correctly on a certain platform.
       
       Change: Fixed a problem so that processor Carry Flag is set correctly
       in the routine that detects OEM's management interface.

Version 7.0.14 July 21, 2011
----------------------------
  Fixes:
  ======
    1. Problem: PXE failed to boot on port#3 and port#4 with B0 revision of 
       BCM57800-based devices.
       
       Change: Updated UNDI driver to initialize HW blocks correctly for 
       Revision B0 silicon.

Version 7.0.13 July 19, 2011
----------------------------
   Enhancements:
   =============
   1. Updated mechanism to provide sensor and device information for
      BCM57800, BCM57810, and BCM57840.

Version 7.0.12 July 12, 2011
----------------------------
  Fixes:
  ======
    1. Problem: MBA ROM configured the device into SF mode when it's 
       configured to NPAR-SD mode. (CQ#56947)

       Cause : MBA ROM with CLP support configured the device into SF 
       mode if CLP configuration was not received.

       Change: Updated MBA ROM so that initialization code doesn't force
       device into SF when it's NPAR-SD mode.

Version 7.0.11 July 7, 2011
---------------------------
  Fixes:
  ======
    1. Problem: UNDI driver doesn't deposit iSCSI boot signature for
       secondary path in a MPIO boot configuration.  This only occurs
       with E2 or E3-based NICs.  (CQ#55676)

       Change: Updated UNDI driver to use correct shared memory base 
       when updating iSCSI boot signature in the shared memory in a
       MPIO configuration.

Version 7.0.10 June 30, 2011
---------------------------
  Fixes:
  ======
    1. Problem: UNDI driver doesn't detect link in 1Gps mode with 
       BCM578xx-based SFP+ adapter if management firmware is enabled.

       Cause : Managment firmware programmed forced speed to 10Gbps mode.
       Warp core wouldn't run in 1Gbps mode even device was programmed to
       fiber 1000x mode.

       Change: Clear forced speed configuration before programming to 
       fiber 1000x mode.

Version 7.0.9 June 29, 2011
---------------------------
   Enhancements:
   =============
   1. Added 1Gbps mode support for BCM578xx-based SFP+ adapters. (CQ#55320).
   2. Initialized default NPAR flow control setting based on SF FC setting
      instead of hardcoded value as AUTO.
   3. Embedded CCM v7.0.4.

Version 7.0.8 June 22, 2011
---------------------------
    Fixes:
    ======
    1. Changed default MBA VLAN ID value to 1. (CQ#56075)
    2. Fixed a problem where Link Speed is not configurable for BCM578xx-based
       SFP+ devices. (CQ#56207)

   Enhancements:
   =============
   1. Added support for new CLP commands for configuring FCoE and NIC partition
      (CQ#54942).
   2. Removed option to disable/enable NIC Partitioning. This configuration
      will be detected via Multi-Function mode setting. (CQ#55886)
   3. Embedded CCM v7.0.3.

Version 7.0.7 June 16, 2011
---------------------------
   Enhancements:
   =============
   1. Added support for BCM578xx MF PCI device IDs.
   2. Embedded CCM v7.0.2.

Version 7.0.6 June 16, 2011
---------------------------
   Enhancements:
   =============
   1. Enhanced various features in 4-port NPAR configuration.

Version 7.0.5 June 08, 2011
---------------------------
   Enhancements:
   =============
   1. Added a mechanism to provide sensor and device information for
      BCM57800, BCM57810, and BCM57840. 

Version 7.0.4 May 28, 2011
--------------------------
  Fixes:
  ======
    1. Problem: With a certain OEM 2x10G+2x1G NIC, PXE boot failed with 2x1G
       copper ports.

       Change: Configured the WARPCORE so that SGMII interface works better 
       with external 1G PHY.

    2. Problem: CCM displayed built-in WWPN/WWNN in FCoE Boot menu when 
       Flex Addressing is enabled. (CQ#55892)

       Changes: Updated CCM to use correct WWPN/WWNN when Flex Addressing 
       is enabled.

    Enhancements:
    =============
    1. Embedded CCM v7.0.1.

Version 7.0.3 May 25, 2011
--------------------------
  Fixes:
  ======
    1. Problem: Interrupt didn't work correctly on port#3 and port#4 in a 
       4-port configuration (4x10G or 2x10G + 2x1G).

       Cause : There was a bug in L2 FW that doesn't update producer indices 
       for second port a given path correctly.

       Change: L2 Firmware was updated to update producer indices for 
       for second port a given path correctly.  This fix requires 
       L2 Firmware v7.0.0.

Version 7.0.2 May 20, 2011
--------------------------
    Enhancements:
    =============
    1. Added support for 4x10G or 2x10G+2x1G NICs.
    2. Embedded CCM v7.0.0.

Version 7.0.1 April 28, 2011
----------------------------
    Fixes:
    ======
   1. Problem: UNDI failed to receive/tranmsit when management traffic 
      or WoL is enabled on BCM57780 devices. (CQ#54968,CQ#52880,CQ#53305)

      Change: Updated driver to enable NIG to MAC interface.

    Enhancements:
    =============
    1. Reduced memory foot-print (6Kbytes) of UNDI driver by recompiling 
       code to optimize in size and reducing number of Rx buffers from 4
       to 2.

Version 7.0.0 April 27, 2011
----------------------------
    Fixes:
    ======
   1. Problem: Activity and link LEDs did not light up when driver is
      loaded on certain BCM8727 PHY platform. (CQ #54658)

      Cause: On certain BCM8727 platform, the GPIOs on the PHY drive these LEDs.

      Change: Driver to configure BCM8727 GPIOs to drive the LEDs.

      Impact: BCM8727 PHY only.

   2. Problem: UNDI driver doesn't turn on laser correctly for a certain
      BCM57780-based boards. (CQ#54950)

      Change: Update UNDI driver to turn on laser based on NVRAM configuration.

   3. Problem: CLP interface doesn't work correctly if the input/output 
      buffers are specified in ESI where upper 16 bits are not zeros.

      Change: Updated CLP interface to support input buffer that is 
      specified in 32-bit ESI.

    Enhancements:
    =============
    1. Embedded CCM v6.4.20.

    2. Increased DCBX timeout from 10s to 40s to work around some third-party
       IO modules in the blade environment.

Version 6.4.13 April 13, 2011
-----------------------------
    Enhancements:
    =============
    1. Embedded CCM v6.4.16.

    2. Added UNDI interface to allow upper layer software components to query
       HW configuration of device (e.g DCBX, etc..).

    3. Increased DCBX timeout from 10s to 40s to work around some third-party
       IO modules in the blade environment.

    4. Update NPAR logic to derive WWPN/WWNN from flex FCoE FIP MAC if 
       flex-WWPN/WWNN were not configured.

Version 6.4.12 March 25, 2011
-----------------------------
    Fixes:
    ======
    1. Problem: Virtual Addresses in NPAR mode were not cleared when NPAR
       was configured from enabled to disabled.  This problem only occurs
       in platforms with use of FlexAddressing.

       Change: Changed Option ROM Initialization code to clear out persistent
       flags when NPAR is disabled.

    Enhancements:
    =============
    1. Embedded CCM v6.4.15.

Version 6.4.11 March 7, 2011
----------------------------
    Fixes:
    ======
    1. Problem: When system has more than totally 16 Broadcom PCI devices,
       CCM will behave incorrectly. (CQ#53494, CQ#53498, CQ#53500)

       Cause: CCM only supports maximum up to 16 PCI devices so far,
       When system is install more than sixteen PCI devices, CCM did not
       handle the case correctly and caused memory corruption.

       Change: Increase maximum support PCI devices number from 16 to 32. 
       When system has more than 32 PCI devices, show warning message
       that only 32 PCI devices will be handled.

    Enhancements:
    =============
    1. Embedded CCM v6.4.13.

Version 6.4.10 February 23, 2011
--------------------------------
  Fixes:
  ======
    1. Problem: Option ROM hung at "Loading FCoE ROM image" during POST 
       when the NIC is programmed with MFW firmware. (CQ#53248)

       Cause: In a certain NVRAM layout, MBA might fail to locate FCoE
       Boot ROM and FCoE configuration block.

       Change: Updated MBA loader code to locate FCoE Boot ROM and FCoE 
       configuration block in the NVRAM correctly.

Version 6.4.9 February 22, 2011
-------------------------------
    Enhancements:
    =============
    1. Added support for BCM8722 PHY. (CQ#50799)

    2. Added UNDI proprietary interface to query all MAC addresses that are 
       assigned to a physical function.

    3. Enhanced CCM to remove NPAR-SD configuration even NPAR-SD block is 
       present.

    4. Embedded CCM v6.4.9.

Version 6.4.8 February 16, 2011
-------------------------------
    Enhancements:
    =============
    1. Removed FCoE offload lock in each PF when NPAR or NPAR-SD
       is enabled. (CQ#53064)

    2. Embedded CCM v6.4.8.

Version 6.4.7 February 15, 2011
-------------------------------
  Fixes:
  ======
    1. Problem: Option ROM failed to relocate in a platform with PCI FW 3.1 
       compliant BIOS.

       Cause: Option ROM only relocated run-time code when it detected 
       PCI FW 3.0 BIOS.

       Change: Updated Option ROM to relocate code if BIOS is PCI FW 3.0 
       or newer.

    2. Problem: CLP didn't return MAC address on MAC query command when the
       NIC is in SF mode.

       Change: Fixed CLP show MAC address logic to handle SF mode.

Version 6.4.6 February 9, 2011
------------------------------
  Fixes:
  ======
    1. Problem: Failed to do PXE/iSCSI boot with BCM57810 devices in a 
       moderate/heavy broadcast network. (CQ#52850)

       Change: Changed code to initialize TCM block differently for 
       BCM57810 devices.

Version 6.4.5 February 8, 2011
------------------------------
   Fixes:
   ======
   1. Problem: CCM might not be invoked correctly in some platform when
      low memory region is not cleared by the BIOS during POST.
      (CQ#52598) 

      Cause: BIOS doesn't clear low memory area (7c0:0) during POST.

      Change: Added a sofrware workaround to use the lower memory area only 
      when PMM Find API fails.

   2. Problem: FCoE/FIP packets are transmitted with incorrect priority
      field with MFW 6.4.2 or newer. (CQ#52677)

      Cause: The interface was changed in MFW 6.4.2.

      Change: Updated DCBX interface logic to work with old and new interface.

    Enhancements:
    =============
    1. Embedded CCM v6.4.6.

Version 6.4.4 January 14, 2011
-----------------------------
    Enhancements:
    =============
    1. Embedded CCM v6.4.3.

Version 6.4.3 January 3, 2011
-----------------------------
    Enhancements:
    =============
    1. Added configuriation option to allow users to configure MF mode. 
       (CQ#51751)

    2. Embedded CCM v6.4.1.

Version 6.4.2 January 3, 2011
-----------------------------
   Fixes:
   ======
   1. Problem: LOM image with embedded CCM might hang on some platform when 
      Ctrl-S is invoked. (CQ#51571)
       
      Cause: BIOS on some platforms copies the Option ROM image to UMB based on 
      the image length in the PCI-R header instead of initializing length in the
      ROM header.

      Change: Fixed ROMHDR tool so that both initializing length and image length 
      are updated when CCM image is appended to the tail of the image.

   2. Fixed byte order of Ethernet class code in the ROM header.

   Enhancements:
   =============
   1. Enhanced UNDI driver to disable Common Mode Sense (aka CMS) based on NVRAM 
      configuration. (CQ#51888).

   2. Updated copyright banner to reflect year of 2011. (CQ#51886)

   3. Updated CCM to allow users to configure AFEX parameters.
 
   4. Updated CCM to configure multi-function mode. (CQ#51751)

   5. Embedded CCM v6.4.0.

Version 6.4.1 December 15, 2010
-------------------------------
  Enhancements:
  =============
  1. Added support for BCM57810 10G-KR mode.
  2. Fixed device descriptions of BCM57810 devices.

Version 6.4.0 December 13, 2010
-------------------------------
   Enhancements:
   =============
   1. Added support for BCM57810.
   2. Embedded CCM v6.2.10.

Version 6.2.11 November 29, 2010
-------------------------------
   Fixes:
   ======
   1. Problem: In certain PCs, CCM fails to save configuration and
      corrupted configuration data. (CQ#51063)
       
      Cause: BIOS on these platforms has bug where PMM Find function
      doesn't work correctly.

      Change: CCM was changed to maintain mapping of handle and physical
      address of allocated blocks.

    2. Changed Maximum Bandwidth description from 100Mbps unit to percentage.
       (CQ#50852)

   Enhancements:
   =============
   1. Embedded CCM v6.2.7.

Version 6.2.10 November 23, 2010
-------------------------------
   Fixes:
   ======
   1. Problem : UNDI driver failed to detect link on second port of 
      BCM57712-based 10GBase-T NIC.

      Change  : Updated UNDI driver so that correct GPIO3 is brought HIGH
      to remove 10GBase-T PHY out of reset.

Version 6.2.9 November 22, 2010
-------------------------------
   Fixes:
   ======
   1. Problem : In FCoE Boot, EVBD driver crashes due to the pending attentions
      that was created during UNDI driver initialization.

      Change  : Updated UNDI driver so that it clears all attentions after
      device is initialized.

Version 6.2.8 November 18, 2010
-------------------------------
   Fixes:
   ======
   1. Problem : UNDI driver doesn't deposit boot signature in the 
                shared memory correctly for second port on BCM57712
                device.

      Change  : Updated UNDI driver so that boot signature is deposited
                in the right location for the second port.

   Enhancements:
   =============
   1. Embedded CCM v6.2.5.

Version 6.2.7 November 12, 2010
-------------------------------
   Enhancements:
   =============
   1. Enhanced ROM initialization to preserve virtual MAC addresses
      which was previously configured with NCSI or uEFI interface
      in NIC partitioning mode when the device is in SF mode.

Version 6.2.7 November 12, 2010
-------------------------------
   Enhancements:
   =============
   1. Enhanced ROM initialization to preserve virtual MAC addresses
      which was previously configured with NCSI or uEFI interface
      in NIC partitioning mode when the device is in SF mode.

Version 6.2.6 November 10, 2010
------------------------------
   Enhancements:
   =============
   1. Enhanced ROM initialization to preserve virtual MAC addresses
      which was previously configured with NCSI or uEFI interface
      in NIC partitioning mode.

   2. Embedded CCM v6.2.4.

Version 6.2.5 November 5, 2010
------------------------------
   Fixes:
   ======
   1. Problem : On certain mother board, when CCM is invoked and exits,
                system will hang.(CQ#50424)

      Cause   : Memory management conflicts with certain type of BIOS.

      Change  : Save and restore the original memory content when 
                doing memory allocation and free.

   2. Problem : If NIC partitioning block does not exists on 
                NVRAM configuration and CLP is executed, the boot
                process will hang. (CQ#50834)

      Cause   : Configuration data length was not checked in the case.

      Change  : Added configuration data length check and skip saving
                if it does not exist.

   Enhancements:
   =============
   1. Added BOFM support to CLP version.

   2. Added NIC Partitioning MAC address update when major MAC
      address is configured to BOFM and CLP.

   3. Embedded CCM v6.2.2

Version 6.2.4 October 18, 2010
------------------------------
   Enhancements:
   =============
   1. Enhanced CCM to include CCM/MBA version in the "Device List" menu.
   2. Enhanced CCM to reduce memory footprint by 6Kbytes.
   3. Embedded CCM v6.2.1.

Version 6.2.3 October 14, 2010
------------------------------
   Enhancements:
   =============
   1. Enhanced extended UNDI interface to allow upper layer driver 
      to register 2 unicast MAC addresses for FCoE boot application.

   2. Enhanced PnP product string to have "BRCM" as prefix. (CQ#50114)

Version 6.2.2 September 28, 2010
--------------------------------
   Fixes:
   ======
   1. Problem : Fixed a problem where CCM doesn't get invoked if 
      MBA/CCM is part of the BIOS and there is no NIC with MBA/CCM
      found in the system. (CQ#50048)

      Cause : CCM version checking code determined CCM version 
      from the MBA in the NVRAM.  This logic would fail since 
      MBA/CCM is part of the BIOS.

      Change : Changed the CCM version checking logic to run CCM 
      of running image if there is no other CCM found in the system.

   2. Problem: Link LED should be GREEN when it links at 10G in a certain
      dual-media design. (CQ#49769)
 
      Change:  Updated UNDI driver to initialize HW control correctly.

   3. Problem: Fiber link is active when 10Gbase-T link is used in a dual
      media design. (CQ#49768)
 
      Change:  Updated UNDI driver to turn off transmit optic of fiber
      interface when 10Gbase-T link is active.

   4. Problem: DCBX failed when PFC is disabled. (CQ#50046)

      Change: Updated DCBX init code so that it doesn't fail DCBX 
      when PFC is not enabled.

   Enhancements:
   =============
   1. Embedded CCM v6.2.0.

Version 6.2.0 August 18, 2010
------------------------------
   Enhancements:
   =============
   1. Added support for BCM57712 devices.

Version 6.0.36 August 18, 2010
------------------------------
   Enhancements:
   =============
   1. Updated UNDI driver to use "First PHY" and "Second PHY" as Fiber 
      and Copper ports, respectively, in a dual-media design. In 
      addition, it will configure the link priority based on the pin 
      strapping if Phy selection is configured to Hardware Default.

   2. Embedded CCM v6.0.7.
   
   3. Changed PHY Selection option strings to be more user-friendly.

Version 6.0.35 August 13, 2010
------------------------------
   Fixes:
   ======
   1. Problem: Traffic performance is not good when it runs in 
      10Mbps/100Mbps/1000Mbps mode.

      Cause : EMAC mode register was incorrectly programmed to Half
      duplex mode.

      Change: Updated NX2 10G lower level driver to program EMAC mode 
      correctly.

      Impact:  This only affects 10GBase-T PHY device only.

   Enhancements:
   =============
   1. Embedded CCM v6.0.6.

Version 6.0.34 August 12, 2010
------------------------------
  Fixes:
  ======
   1. Fixed a problem where UNDI driver might not detect link correctly for
      1Gbps mode in dual-media design.

   Enhancements:
   =============
   1. Embedded CCM v6.0.3.

   2. Removed BCM57712 support.

Version 6.0.33 August 11, 2010
------------------------------
  Fixes:
  ======
   1. Fixed a problem where UNDI driver doesn't select PHY to use correctly
      based on PHY selection configuration in a dual-media configuration.

   Enhancements:
   =============
   1. Changed CCM so that PHY selection configuration is active immediately 
      without requiring a system reboot.
 
   2. Added 10Gbps/1Gbps configuration in CCM for SFP+ interface.

   3. Embedded CCM v6.0.2.

Version 6.0.32 August 5, 2010
-----------------------------
   Enhancements:
   =============
   1. Added multiple PHY selection policy support in CCM menu. (CQ#49089)

   2. Embedded CCM v6.0.0.

Version 6.0.31 August 4, 2010
-----------------------------
  Fixes:
  ======
   1. Problem : PXE boot failed on second port of BCM57710-based device.

      Changes : Updated initialization code to detect channel number correctly.

Version 6.0.30 August 2, 2010
-----------------------------
  Fixes:
  ======
   1. Problem : "HBA mode" is not visible for BCM57712-based devices which is 
      programmed with bootcode v6.0.29. (CQ#49163)

      Cause : Format of licensing block for BCM57712 has been changed in 
      bootcode v6.0.29.

      Changes : Changed CCM to adapt with the changes.o

   2. Problem : LEDs don't work correctly on an OEM version of 10Gbase-T NIC.

      Changes : Program the 10Gbased-T phy to drive correct LED output pins. 

  Enhancements:
  =============
   1. Embedded CCM v2.0.8.

Version 6.0.29 July 29, 2010
----------------------------
  Fixes:
  ======
   1. Problem : iSCSI HBA boot (offload path) uses invalid MAC address to boot 
      when NIC partitioning mode is disabled.

      Cause : This problem was first introduced in MBA 6.0.17 where MBA code 
      will initialize shared memory to default MAC (ff:ff:ff:ff:ff:ff) if NIC
      partitioning is disabled.

      Changes : Changed code not to use MAC address from MF configuration if it
      contains default MAC addresses.

Version 6.0.28 July 29, 2010
----------------------------
  Fixes:
  ======
   1. Problem : "HBA Boot Mode" is visible in CCM when iSCSI license is not
      valid on BCM57712-based devices. (CQ#49082)

      Cause : iSCSI license information is stored on different location in 
      the shared memory for BCM57712 devices.

      Changes : Updated CCM to get iSCSI license block from the correct location
      in shared memory for BCM57712 devices.

   2. Problem : Default maximum bandwidth parameters for all PF's are not 
      initialized to the expected values when NIC partition is enabled. 
      (CQ#49081)

      Changes : Changed CCM to initialize the default maximum bandwidth to
      25,25,25,25 when NIC partitioning is enabled.

  Enhancements:
  =============
   1. Embedded CCM v2.0.7.

Version 6.0.27 July 26, 2010
----------------------------
  Enhancements:
  =============
   1. Enhanced UNDI driver so that it runs in E2 IGU mode for BCM57712 devices.
      This change requires L2 FW v6.0.0. 

Version 6.0.26 July 20, 2010
----------------------------
  Enhancements:
  =============
   1. Added interface to support DCBX configuration.  This configuration is 
      used by FCoE boot ROM only.

   2. Embedded CCM v2.0.6.

   3. Changed FCOE > General Parameter > Fabric Discovery Timeout to
      Fabric Discovery Retry, and valid value range from 0..128 to 0..8.

  Fixes:
  ======
   1. Fixed a problem where CCM displays warning message when user enables 
      NIC partitioning. (CQ#48784)

   2. Problem : Configuration for the second port in NX1 chip family
      is not performed correctly.

      Changes : Fixed wrong NVRAM structure definition in header file.

   3. Problem : NIC without iSCSI configuration information is listed
      in secondary NIC selection candidates.

      Changes : Removed NIC without iSCSI configuration information from
      secondary NIC selection candidates.

   4. Problem : Configuration initialization is not correct when moving
      from one NIC to the next NIC under certain condition.

      Changes : Correct flag operation when saving the configuration.

Version 6.0.25 July 8, 2010
---------------------------
  Fixes:
  ======
   1. Problem : For certain BIOS, if Option ROM is called in PCI
      descent order, configuration changes will not reflect immediately
      for certain NICs.

      Changes: CCM will be invoked on the NIC whose Option ROM is called
      first and with highest version number.

  Enhancements:
  =============
   1. Embedded CCM v2.0.5.

   2. Added NIC Partitioning Minimum Bandwidth dynamic range check
     so that total Minimum Bandwidth of all functions will not exceed
     physical port bandwidth when NIC Partitioning is enabled.

Version 6.0.24 July 6, 2010
---------------------------
   Enhancements:
   =============
   1. Embedded CCM v2.0.4.

   2. Changed CCM to allow maximum BW to oversubscribe and make MAC addresses
      read-only fields.

Version 6.0.23 June 24, 2010
----------------------------
  Fixes:
  ======
   1. Problem : Some OEM platforms might hang after CCM exists. (CQ#48418)
 
      Change : Changed MBA code so that it doesn't allocate scrachpad buffer
      for decompression.  This will quanrantee that only PMM memory is used.

Version 6.0.22 June 17, 2010
----------------------------
   Enhancements:
   =============
   1. Embedded CCM v2.0.3.

Version 6.0.21 June 14, 2010
----------------------------
  Fixes:
  ======
   1. Problem : CCM allows users to enter duplicate MAC addresses in NIC
      partitioning menu. (CQ#48320)

      Change : Added code to do duplicate MAC addressing checking.

   Enhancements:
   =============
   1. Embedded CCM v2.0.2.

   2. Changed NIC partitioning menu to remove number of partitioning 
      configuration option.  Users are now allowed to enable/disable 
      NIC partitioning.

Version 6.0.20 June 11, 2010
---------------------------
  Fixes:
  ======
   1. Problem : CCM doesn't prompt users to save if "Boot To Target" is changed
      to One Time Enable Mode. (CQ#48258)

      Change : Changed CCM to prompt user to save parameters or not if "Boot To
      Target" parameter is changed.

   2. Problem : MBA configuration displays garbage after NIC partitioning block
      is save. (CQ#48199)

      Change : The NIC partitioning block is 512 byte long.  The length in the 
      NVRAM directory of this block is 516 bytes which causes corruption of 
      internal menu structure. This is a problem in EDIAG where it updates
      block with invalid length.

      Change : Changed CCM to use the length of internal buffer size instead
      of length in the NVRAM directory field when block is fetched.

   Enhancements:
   =============
   1. Embedded CCM v2.0.1.

   2. Changed the description of bandwidth parameters from "100Mbps" to 
      percentages.

Version 6.0.19 June 8, 2010
---------------------------
  Fixes:
  ======
   1. Problem : CCM doesn't save secondary device's configuration. (CQ#47971)

      Change : Changed CCM to save secondary device's configuration before
      exiting secondary menu.

   2. Problem : ROM header utility doesn't update ROM header for LOM images.
      (CQ#48199)

      Change : Fixed ROM header utility to update ROM header correctly.

   3. Problem : NP bandwidth allocations are not validated.
      (CQ#48049)
      
      Changed: Updated NP CCM code to validate bandwidth allocation.

   Enhancements:
   =============
   1. Embedded CCM v2.0.0.

   2. Added option in the NP menu so that users can revert to default 
      configuration.

Version 6.0.18 June 4, 2010
---------------------------
  Fixes:
  ======
   1. Problem : eVBD driver doesn't enumerate NDIS when NIC partition is 
      configured in SF mode. (CQ#48162)

      Cause : EVBD driver still relies on extended multi-function block in 
      the shared memory when it's in SF mode.

      Change: Updated MBA to initialize extended multi-function block in the
      shared memory.

Version 6.0.17 May 27, 2010
---------------------------
  Fixes:
  ======
   1. Problem : PXE boot fails if KX-4 interface links at 1G-KX.

      Cause :  If the negotiated speed is 1GBASE-KX, the driver mistreated
               it as a 10G link. BMAC was used instead of EMAC and this led
               to port malfunctioned.

      Change : When driver detected 1GBASE-KX link, EMAC was used for that
               port.

   Enhancements:
   =============
   1. Embedded CCM v1.0.4.

   2. Enhanced NIC partitioning menu to have "Auto" as one of the flow 
      control option.

   3. Enhanced MBA ROM initialization code so that it will configure 
      SF mode if number of partition is 1.

   4. Removed legacy MBA menu to reduce code side since MBA configuration
      is now part of CCM.

Version 6.0.16 May 16, 2010
---------------------------
  Fixes:
  ======
   1. Problem : Fixed a problem where CCM will not be invoked if one or more
      device with Option ROM disabled.

      Change : Fixed a problem in the CCM version check routine.

   2. Problem : UNDI driver doesn't detect link intermittently with some 10G-PT
      modules.

      Cause: The problem is in vendor's 10G-PT module where it takes 
      significantly long time to link up.  Intermittently it can take over 
      30 seconds to link up.

      Change : Increased time-out value from 5s to 15s to improve successful
      link-up rate (> 90%).  However, this won't fix the problem permanently.  
      The permanent fix requires fix in the 10G-PT module's firmware/software.

   Enhancements:
   =============
   1. Embedded CCM v1.0.3.


Version 6.0.15 May 11, 2010
---------------------------
  Fixes:
  ======
   1. Problem : UNDI driver failed to detect link consistently with 10Gbase-T
      NICs when it's connected to 10G link partner. (CQ#47678)

      Cause: Solarflare 10Gbast-T PHY sometimes takes over 20 seconds to link
      up. Current link detection timeout in the driver is 10 seconds.

      Change : Changed the driver to increase link timeout to 40s for 10Gbase-T
      interfaces.

   2. Problem : MBA displays more than one banners when NICs are installed on   
      the OEM platforms. (CQ#47096)

      Cause: This is due a bug in the OEM platform BIOS where it doesn't
      support PMM Find API correctly.

      Change : Implemented workaround in the MBA init code to use different
      memory region to store CMM information.

Version 6.0.14 May 7, 2010
--------------------------
  Fixes:
  ======
   1. Problem : 10GBase-T NIC doesn't detect link correctly. (CQ#47639)

      Change : Fixed the energy detection routine.

Version 6.0.13 May 6, 2010
--------------------------
  Fixes:
  ======
    1. Problem: UNDI intermittently failed to pass traffic on OEM's
       BCM57712-based MEZZ and OEM's 1G Pass-through modules. (CQ#47102)
       
       Change: Enabled AUTONEG and BAM (Broadcom Autoneg Mode) on the
       BCM8073 PHY.

    2. Problem: MBA banner doesn't show iSCSI boot configuration for 
       BCM57710 SFP single port device. (CQ# 47103)

       Change: Updated CCM to initialize device's capability for single 
       port device.

   Enhancements:
   =============
   1. Embedded CCM v1.0.2.

Version 6.0.12 May 4, 2010
--------------------------
  Fixes:
  ======
    1. Problem: MBA Reboot test fails when running reboot continuously
       with "PXE-E61: Media test failure, check cable" on CX4 PHY device.
       (CQ#47534)

       Change: Increased delay time between PHY status read from 1us to
       100us.

       Impact:  CX4 PHY device only.

Version 6.0.11 April 30, 2010
-----------------------------

   Enhancements:
   =============
   1. Added support for device with Dual Media of BCM84823 and BCM8727.
   2. Added support for BCM84823.

Version 6.0.10 April 6, 2010
----------------------------
  Fixes:
  ======
    1. Problem: NIC partitioning parameters might not be configured 
       correctly on platforms that has CLP support. Not all the 
       PF's are visible.

       Change: Fixed the ROM initialization code to take care of NIC
       configuration parameters correctly in the CLP code path.

   2. Problem : Network booting will try indefinitely if the content of 
      NVRAM is blank.

     Change: Changed ROM init code to disable booting and remove itself
     from the memory if content of NVRAM is blank.

   Enhancements:
   =============
   1. Embedded Comprehensive Configuration Manager v1.0.1. 
        * Flush all keystrokes before entering configuration menu so that 
          it doesn't exit unexpectedly.  This can occur if <ESC> is pressed
          before Ctrl-S is entered.

Version 6.0.9 March 26, 2010
----------------------------
   Enhancements:
   =============
   1. Embedded Comprehensive Configuration Manager v1.0.0.  This is 
   an unified interface that allows users to configure MBA parameters,
   iSCSI boot parameters, FCoE boot parameters, NIC paritioning, etc...

   2. Enhanced Option ROM to display only single bahnner regardless
      how many devices are in the system.

   3. Enhanced UNDI driver to support NIC partitioning mode.

Version 6.0.8 March 23, 2010
----------------------------
  Fixes:
  ======
    1. Problem: UNDI driver failed to pass traffic in 1G mode when
       the 10G-KR interface is configured with polarity swap.

       Change: Changed PHY initialization code to invert polarity
       on the XAUI interface when it's in 1G mode.

Version 6.0.7 March 19, 2010
---------------------------
  Fixes:
  ======
    1. Problem: MBA ROM doesn't configure the device into single function
       mode if there is no CLP configuration and NIC partition
       block is present.

       Change: Fixed MBA init code to configure the device into SF mode
       in the above scenario.

Version 6.0.6 March 10, 2010
---------------------------
  Fixes:
  ======
    1. Problem: Changing configuration in MBA menu for port 2 of BCM57712 
       device causes FEATURE_CFG2 block to have invalid CRC32. (CQ#46502)

       Change: Fixed MBA configuration code to update CRC-32 of feature
       configuration 2 at the right offset.

Version 6.0.5 March 8, 2010
---------------------------
  Fixes:
  ======
    1. Problem: MF configuration with CLP doesn't work correctly.  This
       feature was broken since v6.0.3.

       Change: Fixed a problem where HIDDEN bit for function 
       is not cleared.

Version 6.0.4 March 5, 2010
---------------------------
  Fixes:
  ======
    1. Problem: VLAN settings are lost after reboot. (CQ#46412)

       Change: Changed ROM init code to fetch feature configuration 
       block from NVRAM and update the shared memory.

Version 6.0.3 February 23, 2010
-------------------------------
  Fixes:
  ======
    1. Problem: Failed to do PXE/iSCSI boot with BCM57712 devices in a 
       moderate/heavy broadcast network.

       Change: Changed code to initialize TCM block differently for 
       BCM57712 devices.

    2. Problem: System hung if MPIO is enabled on BCM57712 devices.
       (CQ#45981).

       Change: To support CCM(Comprehasive Configuration Menu), we added a 
       dynamic configuration updated capability in MBA code. This function 
       is called in improper stage when MPIO is configured. Solution is added 
       to only call the function when MBA is in init stage.

Version 6.0.2 February 8, 2010
------------------------------
   Enhancements:
   =============
   1. Added MF support for BCM57712 devices.

Version 6.0.1 February 3, 2010
------------------------------
   Enhancements:
   =============
   1. Updated Copyright banner to reflect year of 2010. 
   2. Added support for BCM57712 devices.
   3. Added logic to load FCoE ROM images.

Version 6.0.0 January 5, 2010
--------------------------------
  Enhancements:
  =============
  1. Added support compression and decompression for UNDI, BC and iSCSI images.

Version 5.2.12 December 11, 2009
--------------------------------
  Enhancements:
  =============
  1. Driver detects for signal before performs link status poll for CX4 PHY.

Version 5.2.11 December 3, 2009
-------------------------------
  Enhancements:
  =============
   1. Added boot retry support; (CQ#43402)

Version 5.2.10 November 16, 2009
-------------------------------
  Enhancements:
  =============
   1. Enhanced BoFM logic to clear out VLAN field only if backup MAC address 
      is present and different from the primary MAC address when it responds
      to BOFM DEFAULT command.

Version 5.2.9 November 16, 2009
-------------------------------
  Fixes:
  ======
    1. Problem: System hangs if SMBIOS table is above 1M region.

       Change: Changed ROM Init routine to support searching SMBIOS
       about 1MB region.

  Enhancements:
  =============
    1. Enhanced loader to support iSCSI ROM BCV.  
    2. Enhanced Tx routine to return correct error if it detects that 
       EDIAG has taken over the device.  

Version 5.2.8 October 22, 2009
------------------------------
   1. Enhanced CLP code to satisfy OEM's CLP requirement pertaining to iSCSI
      boot parameters.

Version 5.2.7 October 19, 2009
------------------------------
   1. Enhanced BoFM logic to clear out VLAN field only if backup MAC address 
      is present in response to BOFM DEFAULT command. (CQ#44176)

Version 5.2.6 October 19, 2009
------------------------------
   1. Enhanced CLP code to satisfy OEM's CLP requirement pertaining to iSCSI
      boot parameters.

Version 5.2.5 October 13, 2009
------------------------------
   1. Enhanced BOFM code to treat ff:ff:ff:ff:ff:ff as an invalid MAC 
      address. (CQ#44033)

Version 5.2.4 September 15, 2009
--------------------------------
  Enhancements:
  =============
   1. Added CL73 support for CX4 PHY.

Version 5.2.3 September 4,2009
------------------------------
   Fixes:
   ======
    1. Problem: PXE boot failed if priority field in the VLAN ID is non-zero.
       (CQ#43371)

       Cause : VLAN filtering logic in the L2 F/W checks for entire 16-bit
       VLAN field of the incoming packets against the configured 12-bit
       field. L2 F/W will drop these packets due to unmatched VLAN ID.

       Change: Configured the CAM on the device so that firmware doesn't do 
       VLAN filtering and UNDI driver does the filtering.

Version 5.2.2 August 28, 2009
-----------------------------
   Fixes:
   ======
    1. Problem: iSCSI Boot intermittently failed (every hundreds of reboots) to
       connect with iSCSI offload path. 

       Cause : The recovery logic introduced in v5.2.1 doesn't work correctly
       when it's booted with iSCSI offload path.  L2 MAC address instead of 
       iSCSI MAC address was used to program the MAC filtering CAM.

       Change: Fixed the recovering logic to use correct MAC address.

Version 5.2.1 August 26, 2009
-----------------------------
   Fixes:
   ======
    1. Problem: iSCSI Boot intermittently failed (every hundreds of reboots) to
       acquire DHCPv4 parameters. (CQ#43127)

       Cause : There is a corner case that Tx might stop.

       Change: Changed the Tx path to detect Tx hang and recover from it.

Version 5.2.0 August 6, 2009
----------------------------
  Enhancements:
  =============
   1. Added support for OEM proprietary CLP interface that configures
      link tuning parameters and Virtual MAC addresses.

Version 5.0.15 July 8, 2009
---------------------------
   Fixes:
   ======
    1. Problem: UNDI failed to detect link intermittently with BCM8727-based
       NIC. 

       Cause : Link is not stable (bouncing UP and DOWN) after EDC parameter is 
       programmed.

       Change: Changed the UNDI code to wait for 2 seconds after EDC 
       parameter is programmed.

Version 5.0.14 July 1, 2009
---------------------------
   Fixes:
   ======
    1. Problem: BCM8727-based NICs will link up at 1G with Cisco 10G CX1 
       cable.

       Cause : PHY FW doesn't detect Cisco 10G CX1 cable correctly.  It
       configures device in 1G mode. 
       
       Change: Changed UNDI driver to disable AUTO detection of PHY FW and 
       program EDC parameters based on the SFF data from the SFP+ module.

Version 5.0.13 June 29, 2009
----------------------------
   Fixes:
   ======
    1. Problem: UNDI failed to detect link intermittently with BCM8727-based
       NIC. (CQ#42157)

       Cause : With PHY firmware v4.03 or newer, auto-detection feature was 
       disabled by default.  This causes EDC mode not configured correctly.
       
       Change: Changed the UNDI code to enable auto-detection so that EDC
       is configured correctly by PHY F/W.

Version 5.0.12 June 16, 2009
----------------------------
  Enhancements:
  =============
   1. Enhanced CLP code to support "One Time Disabled" option for iSCSI
      Boot to Target parameter via CLP protocol.

Version 5.0.11 June 16, 2009
----------------------------
  Enhancements:
  =============
   1. Enhanced iSCSI ROM logic to support "One Time Disable" Option for 
      iSCSI Boot To Target option.
   2. Enhanced CLP code to support Link Tuning parameters via CLP protocol. 
      The syntax is shown as follows:

      "set netport0 OEMXYZ_LinkTuningParameters= 
            TxLane0:TxLane1:TxLane2:TxLane3:RxLane0:RxLane1:RxLane2:RxLane3"
            
       Where TxLane[0...3] and RxLane[0...3] are 16-bit hex numbers.

      (CQ#41655)

Version 5.0.10 June 8, 2009
---------------------------
  Enhancements:
  =============
   1. Enhanced CLP logic to allow configuration of IPv6 iSCSI parameters.
   2. Enhanced MBA CLP Option ROM to delete Option ROM image if MBA is 
      disabled in the NIC application.

Version 5.0.9 June 1, 2009
--------------------------
  Enhancements:
  =============
   1. Added support for BCM8727 PHY without overcurrent feature. 

Version 5.0.8 May 18, 2009
--------------------------
   Fixes:
   ======
    1. Problem: UNDI driver doesn't detect link with 1G pass through
       module. (CQ#41224)

       Cause : UNDI driver doesn't configure the EMAC when it runs 
       in 1G mode.  

       Change: Changed driver so that EMAC block is configured correctly.

    2. Problem: iSCSI boot IPv6 failed overnight. (CQ#41069)

       Cause : L2 F/W doesn't grant request to configure a list of 
       multicast MAC addresses consistently.

       Change: Implemented software workaround to filter multicast
       MAC addresses in software.

Version 5.0.7 April 30, 2009
----------------------------
   Fixes:
   ======
    1. Problem: NCSI connection is lost after PXE driver is loaded.
       (CQ#40872)

       Cause : PXE driver reset NIG block during bring up and shutdown.
       NCSI firmware only re-initialize NIG block for shutdown only.  

       Change: Changed driver so that it only resets the NIG block 
       in the shutdown path.

Version 5.0.6 April 29, 2009
----------------------------
   Enhancements:
   =============
   1. Enhanced loader so that it can load iSCSI Boot driver IPv4 or IPv6 
      based on the iSCSI boot configuration.

Version 5.0.5 April 21, 2009
---------------------------
   Fixes:
   ======
   1. Problem: UNDI driver failed to do network boot with pre-production 
      BCM8727-based NICs.

      Cause : These NIC are designed with pin trapping
      (OPTOUTLVL pin) of BCM8727 device so that Active Optical is disabled.

      Change: Changed the PHY initialization code so that it will turn
      ON Optical Output.

Version 5.0.4 April 19, 2009
---------------------------
   Enhancements:
   =============
   1. Added support for Broadcom SFP+ PHY (BCM8727).  This PHY
      supports 1Gbps and 10Gbps.

Version 5.0.3 April 10, 2009
---------------------------
   Fixes:
   ======
    1. Problem: UNDI driver doesn't detect link if BCM8481 PHY is 
       in the reset state when driver starts.

       Change: Changed the PHY initialization code so that it issues
       a software reset to the PHY if it's in the reset state.

    2. Problem: UNDI driver doesn't pass traffic if 10Gbase-T is 
       connected to 10Mbps/100Mbps switch.

       Change: Changed the PHY initialization code so that it forces
       the UNICORE of 10G MAC controller to SGMII 10/100Mbps mode when 
       the BCM8481 PHY is linked at 10Mbps or 100 Mbps, respectively.

Version 5.0.2 April 9, 2009
---------------------------
   Enhancements:
   =============
   1. Added support for Broadcom 10Gb-T PHY (BCM8481).  This PHY
      supports all speeds (10Mbps,100Mbps,1Gbps, and 10Gbps).

Version 5.0.1 March 20, 2009
----------------------------
   Enhancements:
   =============
   1.  Increased link check timeout for 10Gbase-T NICs to 13 seconds.

   Fixes:
   ======
    1. Problem: TFTP timeout during PXE boot is too long if TFTP server
       is not available. (CQ#39447)

       Cause : Timeout value is not reset for each TFTP open.  Subsequent
       TFTP open timeout will be the total timeout in the first TFTP open
       which can be 35s delay.

       Change: Fixed a problem in the Base Code to reset the timeout in 
       the beginning of TFTP open.

   2. Fixed a problem where Flow Control in the shared memory is not configured
      correctly by CLP when NVRAM Flow control is configured to AUTO for 
      MF devices. 

Version 5.0.0 February 13, 2009
--------------------------------
   Enhancements:
   =============
   1.  Configure multi-function devices into single function mode if system 
       doesn't support CLP. (CQ#39548)

Version 4.8.5 February 10, 2009
-------------------------------
   Fixes:
   ======
   1. Problem: LED on the front panel of OEM blades doesn't lid in 
      10G mode. (CQ#39471)

      Change : Changed PHY initialization code to force internal PHY 
      to run in 10G CX-4 mode when external PHY is linked at 10G.

Version 4.8.4 January 21, 2009
------------------------------
   Enhancements:
   =============
   1. Updated Copyright banner to reflect year of 2009. 

   Fixes:
   ======
   1. Problem: MBA ROM doesn't function correctly in the CLP path if the
      extended memory block returned by PMM were not initialized to 0's.
 
      Change : Changed code to initialize the CLP context block to 
      zero's after it's allocated with PMM.

Version 4.8.3 December 23, 2008
-------------------------------
   Enhancements:
   =============
   1. Enhanced CLP logic to support CLP "UseSecTargetName" string.

   Fixes:
   ======
   1. Problem: Network boot failed intermittently on CX-4 interface when
      it's connected to Broadcom-based 10G switch.

      Cause : There is a known problem with a switch that it doesn't detect
      link change within 250ms interval. When BCM5771x device's XGXS block is 
      brought out of reset, it will link at 1G.  Driver then initializes the 
      device to advertise at 1G/10G.  This causes a link change in less than
      250ms.

      Change : Implemented a workaround in the driver so that it will bring 
      the down the link, delays 300ms, and restart AUTONEG during link 
      bringup.

Version 4.8.2 December 15, 2008
-------------------------------
   Fixes:
   ======
   1. Problem: VLAN setting in MBA configuration menu is not active until 
      next system reset. (CQ#38968)

      Cause : iSCSI boot loader uses VLAN parameters which were loaded from
      the NVRAM before MBA configuration is invoked.

      Change : Changed MBA saving routine to update MBA VLAN ID configuration
      in the local variables as well.

Version 4.8.1 November 19, 2008
------------------------------
   Enhancements:
   =============
   1. Configured iSCSI boot to Windows HBA mode when a particular function 
      is configured to iSCSI and boot enabled with CLP.

Version 4.8.0 November 11, 2008
------------------------------
   Enhancements:
   =============
   1. Added support for BCM8726 PHY.

Version 4.6.12 October 9, 2008
------------------------------
   Fixes:
   ======
   1. Problem: System hangs if PCI configuration registers at offset 
      0x80,0x88,0x8c, 0x90, and 0x94 are read after a termination of
      PXE or iSCSI boot.

      Cause : For optimization, devices are configured to map those PCI
      configuration registers to internal registers.  During driver 
      shutdown, device is not configured to undo those mapping.

      Change : Changed UNDI driver to undo register mapping at during
      driver shutdown.

Version 4.6.11 October 7, 2008
------------------------------
   Fixes:
   ======
   1. Problem: NCSI doesn't work after UNDI driver is loaded. (CQ#37572)

      Cause : UNDI reset NIG block during driver load.  This causes loss
      of  NCSI configuration on the NIG block.

      Change : Changed UNDI driver not to reset NIG block if management 
      firmware is enabled.

Version 4.6.10 September 25, 2008
---------------------------------
   Enhancements:
   =============
   1. Added support for preemphasis configuration for CX4 interface. (CQ#35662)

Version 4.6.9 September 12, 2008
-------------------------------
   Fixes:
   ======
   1. Problem: UNDI driver doesn't detect link correctly with 
      SFG10 10G-BaseT PHY. (CQ#37331).      

      Change : Changed UNDI driver to use longer wait time for link
      status polling.

Version 4.6.8 September 8, 2008
-------------------------------
   Fixes:
   ======
   1. Problem: BEV entry is not NULL in the PnP header after option ROM
      processes BOFM "DFLT" and "UPDT" commands.

      Change : Changed ROM init code to nullify BEV entry before returning
      to the BIOS.

   2. Problem: <BOOT> field doesn't control boot protocol.

      Change : Changed CLP code to configure Boot Protocol based on <BOOT>
      field.

   3.Problem: MBA detects no link when using 1G pass thru module with
              CX4 PHY.(CQ#37006)

      Change: Add support for 1G on CX4 PHY.

   Enhancements:
   =============
   1. Enhanced to BOFM code to support VLAN configuration.

Version 4.6.7 August 26, 2008
-----------------------------
   Fixes:
   ======
   1. Problem: iSCSI MAC address cannot not configured with the following
      CLP string:
          "set netport2 PermanentAddress=xxxxxxxxxxxx"
      (CQ#36962)

      Change : Made changes to support above CLP string.  User can still 
      configure iSCSI MAC address with "set netport1 iSCSIAddresss=xxxxxxxxxxxx"
      as before.

   2. Problem: MAC address is not reversed back to default when CLP
      default command is received. (CQ#36864)

      Change : Made changes to initialize MAC address in the shared
      memory and virtual MAC address space with permanent MAC
      addresses.

   3. Problem: Port#0 of BCM8073 might have problem getting link on a a certain
      device. Port#0 might also go down when bringing up port#1. (CQ#36695)

      Change : Implemented a PHY software workaround by loading SPI ROM on 
      both channels during initialization. In addition, SPI ROM will be NOT 
      loaded if it was loaded before UNDI driver starts to initialize.

   4. Problem: iSCSI MPIO doesn't work when one or more MAC addresses are 
      configured in Multi-function mode. (CQ#36671)

      Change : Fixed issue in finding secondary NIC.

   Enhancements:
   =============
   1. Enhanced CLP logic so that CLP "BootEnable" works as follows:

     PXE boot control  : "set netport1 OEMXX_BootEnable=<Enabled | Disabled> 
     iSCSI boot control: "set netport2 OEMXX_BootEnable=<Enabled | Disabled> 

   2. Enabled AN stuck fix for SPI ROM 104.

Version 4.6.6 July 29, 2008
---------------------------
   1. Problem: "VlanMode" is masked out if "VlanID" CLP is sent after.
      (CQ#36643)

      Change : Made changes to macro so that 16-bit compiler doesn't 
      generate code that masks out entire 32-bit number. 

Version 4.6.5 July 29, 2008
---------------------------
   Enhancements:
   =============
   1. Updated to use proper bits in the NVRAM for boot protocol field.

Version 4.6.3 July 28, 2008
---------------------------
   Enhancements:
   =============
   1. Enhanced to support BOFM "UPDT" and "DFLT" commands.
   2. Enhanced so that BoFM MAC address update will be written to NVRAM.

Version 4.6.2 July 23, 2008
---------------------------
   Enhancements:
   =============
   1. BOFM support is included along with PCI fw 3.0.

Version 4.5.13 July 21, 2008
----------------------------
   1. Problem: UNDI driver doesn't detect link correctly if it's linked at 
      2.5G.

      Change : Made changes to fully support 2.5G mode.

Version 4.5.12 July 20, 2008
----------------------------
   1. Problem: UNDI driver doesn't detect link intermittently. (CQ#36042)

      Change : Implemented link recovery procedure and optimized
      link initialization. 

Version 4.5.11 July 19, 2008
----------------------------
   1. Problem: CLP "BootEnable" logic is reverse.  When BootEnable is configured
               to "Enabled" (OEMXX_BootEnable=enabled"), the MBA Option ROM
               is disabled.

      Change : Changed CLP logic to fix this issue.

   2. Problem: Relocating code might copy too much code to the UMB.

      Change : Fixed a problem in relocating code.

   3. Problem: MBA parameters of second port configured with second port
               on BCM5709 devices are not saved.

      Change : Changed CLP logic to save parameters for second port correctly.

   4. Problem: VLAN ID and Timeout parameters configured with CLP are not
               saved correctly.

      Change : Changed CLP logic to save these parameters correctly.

   5. Problem: iSCSI boot fails acquiring IP address intermittently in 
               a certain network environment. (CQ#36397)

      Change : Changed UNDI initialization to reserve one entry in Rx
      Completion Ring for slowpath operation to eliminate race 
      condition.

Version 4.5.10 July 16, 2008
----------------------------
   Enhancements:
   =============
   1. Enhanced MBA configuration menu so that "None" is added to MBA Boot 
      Protocol entry. When Boot Protocol is none, option ROM will be removed
      as a bootable device. (CQ#36335)

   Fixes:
   ======
   1. Problem: iSCSI CHAP secret cannot be deleted by providing no
               string parameter.

      Change : Changed CLP front-end processing core logic to not to 
               block NULL-terminated strings. 

   2. Problem: In certain configuration, MBA driver displays error 
      "NIC Initialization fails". (CQ#36236)

      Change : Fixed shutdown logic so that port is shutdown gracefully.

Version 4.5.9 July 10, 2008
--------------------------
   Enhancements:
   =============
    1. Enhanced CLP logic to return "Support Level" of 5 in AH register 
       as part of return code for BCM57711E devices. Otherwise, it returns
       a value of 2 instead.

Version 4.5.8 July 7, 2008
--------------------------
   Enhancements:
   =============
    1. Enhanced CLP logic to save iSCSI and MBA parameters to NVRAM.

    2. Enhanced CLP logic so that Option ROM is disabled when 
       "BootProtocol=none" is configured.

    3. Enhanced CLP logic to return "Support Level" of 2 in AH register 
       as part of return code.

   Fixes:
   ======
   1. Problem: Enabling/Disabling VLAN in MBA doesn't take effect immediately 
      until next reboot. (CQ#36136)

      Change : Changed MBA init code to update VLAN and MBA parameters in 
      the shared memory every single time parameters are changed.

   2. Problem: iSCSI parameters are not configured correctly with CLP commands
      on the OEM blades. (CQ#36157)

      Cause : Older version of BIOS reloads Option ROM for every CLP command.  
      This causes CLP command to lose Option ROM opertating context.

      Change : Implemented workaround in the Option ROM  so that it saves 
      Option ROM operating context in the extended memory on CLP exit and
      restores back on CLP entry.

Version 4.5.7 June 22, 2008
---------------------------
   Fixes:
   ======
   1. Problem: PXE fails to link with 1Gb switches or pass though modules.
      (CQ#35881)

      Change : Updated UNDI driver to support 1G mode.

   2. Problem: PXE fails to link with 8073 A1 switches. (CQ#35883)

      Change : Updated PHY code to wait for AUTONEG complete before polling for
      any link status.

Version 4.5.6 June 13, 2008
---------------------------
   Enhancements:
   =============
   1. Added VLAN TAG support for BCM57711E devices.

Version 4.5.5 June 10, 2008
--------------------------
   Fixes:
   ======
   1. Problem: CLP doesn't display MAC address in the ROM banner correctly 
      for BCM57711/11E without MAC address configuration with CLP.  
      (CQ#35821)

      Change : Fixed PXE init code to use correct offset of MAC address 
      when MAC address in CLP area is not valid.

Version 4.5.4 June 5, 2008
--------------------------
   Enhancements:
   =============
   1. Added support for BCM8073 A1 Phy (10G-KR).

   2. Display MAC address in the ROM banner if they are configured with 
      MF CLP commands.

   Fixes:
   ======
   1. Problem: CLP doesn't work with EVPXE ROM images.

      Cause : Run-time size was not allocated correctly.

      Change : Fixed size of run-time when EVPXE ROM images are built.

Version 4.5.3 May 30, 2008
--------------------------
   Fixes:
   ======
   1. Problem: PXE failed to transmit on second port with BCM57711/
      BCM57711E devices.

      Cause : There is a H/W change in door-bell mapping in 
      BCM57711/BCM57711E devices.

      Change : Updated UNDI driver to format door-bell correctly for 
      BCM57711/BCM57711E devices.

Version 4.5.2 May 28, 2008
--------------------------
   Fixes:
   ======
   1. Problem: PXE failed to transmit packets after a warm reboot from 
      Windows with VBD driver v4.0.19 or newer.

      Cause : VBD driver v4.0.19 or newer configured the NIG to drop all
      packets.

      Change : Updated UNDI driver to disble drain mode during NIG block
      initialization.

Version 4.5.1 May 28, 2008
--------------------------
   Enhancements:
   =============
   1. Enhanced CLP to configure selective autoneg based on CLP "AdvSpeed"
      command.
   
   2. Enhanced CLP to enable/disable Rx Flow Control based on CLP "FlowControl"
      command.

Version 4.5.0 May 27, 2008
---------------------------
   Fixes:
   ======
   1. Problem: UNDI driver doesn't detect link with XFP port when bootcode
      v4.4.6 or newer is used.

      Cause : Bootcode v4.4.6 or newer no longer removes PHY from reset.

      Change : Changed UNDI driver to issue reset to external PHY reset
      with GPIO's.

   Enhancements:
   =============
   1. Added CLP support for BCM57711E devices.

Version 4.4.4 April 9, 2008
---------------------------
   Fixes:
   ======
   1. Problem: INT18h/19h Interrupt Vector is not setup correctly in PCI F/W 
      30 platforms.

      Cause : INT18h/19h interrupt vector is not reconfigured after run-time 
      image is relocated to UMB.

      Change : Changed relocating code to reinitialize INT18h/INT19h interrupt
      with new run-time segment.  

Version 4.4.3 April 7, 2008
---------------------------
   Fixes:
   ======
   1. Problem: Failed to boot to iSCSI target when tagged vlan is
               enabled.(CQ#33155)

      Cause: Driver reports incorrect total received byte count to upper
             layer when vlan is enabled.

      Change: Driver reports total received byte count accordingly.

      Impact:  None.

Version 4.4.2 March 19, 2008
---------------------------- 
   Enhancements:
   =============
   1. Enhanced MBA Initialization code to query MAC address from the 
      shared memory instead of NVRAM.  MBA configuration and 
      initialization will display correct MAC address in Virtual MAC
      address configuration.

   2. Added CLP command to allow BIOS to configure Virtual MAC addresses.

   Fixes:
   ======
   1. Problem: iSCSI boot MPIO functionality doesn't work. (CQ#34297)

      Cause: During initialization, clearing internal data structures
      corrupted PCI function number field. 

      Change: Changed initialization code to prevent data field 
      corruption.

      Impact:  None.

Version 4.4.1 February 13, 2008
------------------------------
   Fixes:
   ======
   1. Problem: Intel API test and Rembo test fail on very high performance 
      systems. (CQ#33822)

      Cause: MCP might not be ready when UNDI driver is shutdown and 
      reinitialized with no delay. 

      Change: Change shutdown sequence so that MCP is ready after shutdown.

      Impact:  None.

Version 4.4.0 February 7, 2008
------------------------------
   Enhancements:
   ============
   1. Enhanced option ROM to support PCI F/W 3.0 and CLP.

Version 4.2.0 February 4, 2008
------------------------------
    Enhancements:
    ============
    1. Enhanced UNDI driver to work with new shared memory layout which is
       compatibile for T4.2 and T4.4. (CQ#33571)

       Impact: It's required to use with bootcode 4.2.0 or later. 

    2. Enhanced ROM initilization code to display MAC address of the device
       during POST.

Version 4.1.3 January 10, 2008
-----------------------------
   Fixes:
   ======
   1. Problem: ACT LED doesn't blink with XFP and CX-4 NICs. (CQ#32431)

      Cause: BigMAC Serdes Mode register is not programmed correctly.

      Change: Program BigMAC serdes mode register to select XGXS mode.

      Impact:  None.

    Enhancements:
    ============
   1. Removed 57710 A0 support to minimize code size.

Version 4.1.2 January 8, 2008
-----------------------------
   Fixes:
   ======
   1. Problem: PXE failed to connect to Rembo multicast server. (CQ#33038)

      Cause: UNDI driver didn't initialize multicast functionality correctly.

      Change: Updated driver to initialize multicast functionality correctly.

      Impact:  None.

    Enhancements:
    ============
   1. Updated Copyright banner to reflect year of 2008. 

   2. Added logic to pass iSCSI boot configuration parameters of primary and 
      secondary devices to iSCSI boot agent.

   3. Changed not to access PHY registers in the event of fan failure with
      10Gbase-T NICs.

   4. Added logic to update link status on the shared memory so that management
      firmware can take advantage of the link status.

Version 4.1.1 December 27, 2007
-------------------------------

   1. Problem:
               CQ #33040: PXE hangs SUT while running the Intel PDK API Test.

      Cause:
               Driver does not shut down device gracefully before reset.

      Change:
               Driver shut down device gracefully before reset.

      Impact:
               None.

Version 4.1.0 December 19, 2007
-------------------------------

   1. Problem:
               CQ #32983: Enabling RPL on first port while cable is connected to
               second port only causes system to hang.

      Cause:
               Driver used an invalid register to store Exit information. When
               cable is not connected, Driver restored invalid information causes
               system to hang.

      Change:
               Driver uses a valid register to store Exit information.

      Impact:
               None.

    Enhancement:
    ============
    
    1. Added SFX7101 10Gbps copper PHY support for BCM57710.

   Notes:
   ======

   1. No release for v4.0.8 - v4.0.9.

Version 4.0.7 December 09, 2007
-------------------------------

   1. Problem:
               CQ #32902: BOOTP Option does not take effect until second system boot.

      Cause:
               Driver utilized default/boot-up configuration instead of the newly
               changed configuration.

      Change:
               Driver updates newly changed configuration directly to Shared-Memory area
               after recorded it into the NVRAM.

      Impact:
               None.

   2. Problem:
               CQ #32904: Port Swap option does not function with PXE.

      Cause:
               Driver reset NIG Registers Block while applying work-around for A0.

      Change:
               Driver preserves and restores port swap information registers when
               applying work-around for A0.

      Impact:
               Port Swap option fix allows Driver to pass traffic on single port XFP.
      
Version 4.0.6 November 14, 2007
-------------------------------
      Problem: System hangs during POST with BCM57710 A1. (CQ#32064)

      Cause: MBA initialization code failed to acquire NVRAM lock.  Bootcode
      uses fixed timeout when it tries to acquire NVRAM lock.  It might timeout
      and leave in an error state that NVRAM access is no longer possible.

      Change: Changed MBA loader code to fetch NVRAM block in 256 byte block 
      so that bootcode NVRAM lock logic doesn't timeout.


Version 4.0.5 November 12, 2007
---------------------------------
    Enhancement:
    ============
    1. MBA_SUPPORT is removed from init.mak to reduce the MBA driver 
       initialization code size.

Version 4.0.4 November 09, 2007
------------------------------
    Enhancement:
    ============
    1. The code changes made for RPL functionality are merged into the core driver
       that has the MPIO configuration changes. v4.0.3 did not include the iSCSI Boot
       MPIO changes. v4.0.4 supports iSCSI Boot MPIO functionality and RPL/BootP
       functionality. 

Version 4.0.3 October 29, 2007
------------------------------
    Enhancement:
    ============
    1. Added MBA functionality to the UNDI core for RPL/BootP support.

Version 4.0.2 October 26, 2007
------------------------------
    Enhancement:
    ============
    1. Added VLAN support for BCM57710.
    2. Added logic to detect the secondary device for iSCSI Boot MPIO 
       configuration.

version 4.0.1 October 17, 2007
------------------------------
    Synced core code base with other drivers.

version 4.0.0 October 09, 2007
------------------------------

    Enhancement:
    ============
    1. CQ # 31329: Added BCM8705 support for BCM57710.

   Notes:
   ======

   1. No release for v1.0.5 - v3.9.9.

Version 1.0.4 October 08, 2007
------------------------------
      Problem: CQ #31243:BCM57710 NIC initialization fails intermittently.
        Cause: The real cause of this problem was that the CDU was not
               setup properly with a first & last address.
       Change: Code was changed to properly configure the ports.

Version 1.0.3 September 21, 2007
--------------------------------

      Problem: CQ #31243:BCM57710 NIC initialization fails intermittently.
        Cause: This problem is related to the initialization of the 2nd
               port. The 2nd port of BCM57710 NIC used the address of the
               context buffer from the first port. The problem is not
               detected when the 2nd port uses the memory space of the
               1st port after the driver of the first port is removed.
       Change: The temporary change is to program the context buffer
               address into both ports since pxe supports only one
               driver at a time.
               Impact: No negative impact.


Version 1.0.2 July 2, 2007
--------------------------

   1. Problem:
               CQ #29312: Readrite test resulting read/write errors after
               a few minutes into the test.

      Cause:
               Driver used different variables to store interrupt statuses
               and to acknowledge/clear the interrupts. During heavy traffic,
               the next interrupt occurred just after previous interrupt
               status was read then got accidentally cleared and does not get
               serviced.

      Change:
               Driver uses the same variable to store and acknowledge/clear the
               interrupt status.

      Impact:
               None.

   2. Problem:
               CQ #29505: PXE - System hangs when run API test.

      Cause:
               Driver re-initializes the link before it has a chance to
               be torn down on the previous DriverShutDown call.

      Change:
               Driver delays 100ms before re-initialize the link.

      Impact:
               Link initialization may appear to be slightly longer.

Version 1.0.1 May 2, 2007
-------------------------
   Enhancements:
   -------------
   1. Optimized forwarding path by mapping some the GRC registers to PCIE 
      register space. 
   2. Enhanced UNDI driver to interface with updated L2 FW which fully 
      utilizes 4 host Rx buffers.
   3. Released with L2 FW version 0.28.3.   

Version 1.0.0 April 20, 2007
----------------------------

   Initial release.

Revision History for Comprehensive Configuration Manager (CCM)
=============================================================

Version 2.0.3 June 17, 2010
---------------------------
  Fixes:
  ======
   1. Problem : Warning message is displayed when users try to enable
      two stateful offloads.

      Change : Changed code to display warning messages when users try
      to enable more than two stateful offloads.

   2. Problem : Users are not prompted to save if NIC partitioning block 
      conversion occurs.

      Change : Changed code to prompt users to save if NIC partitioning
      block conversion occurs.

Revision History of Base Code 
=============================
Intel developed base code and distributed it as a part of PXE SDK 
to the NIC hardware vendors who develop UNDI drivers for their 
NIC products.  During testing and development process, Broadcom has 
found various bugs and has provided appropriate fixes.  Details of
various fixes are listed as follows:

v1.0.7: 
      Enhanced the bootstrap menu processing logic in the base code to
      poll UNDI interface for Rx packets so that IPMI/ASF traffic is 
      not blocked. 

v1.0.6: 
      During BINL (Boot Information Negotiation Layer) phase, base code 
      checks to make sure Server IP address in the BINL response is the 
      same as the Server IP address in DHCP phase.  If it's different, 
      then it doesn't accept the BINL response.  This can be different 
      and valid in some configurations. Changed the base code so that 
      it doesn't have to validate the Server IP address in BINL phase.

v1.0.5:
      Changed the DHCP logic in the base code so that it will only 
      wait for up to 4 seconds to send out DHCP requests after one
      or more DHCP offers are received.

v1.0.4:
      Changed the DHCP logic in the base code so that it will process
      Vendor Specific option regardless where Class Identifier in the 
      DHCP packet.

v1.0.3: 
      Added logic to handle IP reassembly when TFTP responses are 
      in multiple IP fragments and set IP reassembly timeout to 1 second.

v1.0.2:
      Changed the DHCP logic in the base code so that it only 
      processes Vendor Specific option when Class Identifier is present 
      and contains "PXEClient".

v1.0.1:
      Changed to abort network boot if UNDI driver return status code
      of PXENV_STATUS_UNDI_MEDIATEST_FAILED.

v1.0.0: 
    1. Changed to add Broadcom copyright.
    2. Changed revision number to standard version number format.
    3. Whenever the TFTP server doesn't response the first TFTP ack,
       the TFTP open code intends to send TFTP Read Request again 
       with different UDP source port number (incremented by 1).  
       There is a bug in the code where it doesn't reinitialize the 
       packet as TFTP Read Request packet.  Therefore, it sends out 
       the packet as TFTP ACK packet since the last packet being 
       sent was a TFTP ACK.




